-- : --
Зарегистрировано — 131 743Зрителей: 73 638
Авторов: 58 105
On-line — 48 631Зрителей: 9815
Авторов: 38816
Загружено работ — 2 260 335
«Неизвестный Гений»
Программа для Матрицы, программа, которая управляет миром
Пред.![]() |
Просмотр работы: |
След.![]() |
Программа для Матрицы, программа, которая управляет миром
#include <iostream>
#include <vector>
#include <string>
#include <random>
// Определение структуры агента (страны)
struct Nation {
std::string name;
int influence;
int economy;
int military;
int diplomacy;
Nation(std::string n, int i, int e, int m, int d)
: name(n), influence(i), economy(e), military(m), diplomacy(d) {}
void reactToEvent(const std::string& event) {
if (event == "Экономический рост") {
economy += 10;
influence += 5;
} else if (event == "Политический кризис") {
influence -= 10;
diplomacy -= 5;
} else if (event == "Военный конфликт") {
military -= 10;
economy -= 5;
} else if (event.find("Санкции против") != std::string::npos) {
economy -= 15;
diplomacy -= 10;
} else if (event == "Подписание международного договора") {
diplomacy += 10;
influence += 5;
}
}
void makeDecision() {
if (economy < 50) {
std::cout << name << " принимает меры по укреплению экономики.\n";
economy += 10;
}
if (military < 50) {
std::cout << name << " усиливает военную мощь.\n";
military += 5;
}
if (diplomacy < 50) {
std::cout << name << " стремится улучшить дипломатические отношения.\n";
diplomacy += 5;
}
}
};
// Генерация случайных событий
std::string generateEvent(Nation &nation) {
std::vector<std::string> events = {
"Экономический рост",
"Политический кризис",
"Военный конфликт",
"Подписание международного договора",
"Санкции против " + nation.name
};
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> distr(0, events.size() - 1);
return events[distr(gen)];
}
int main() {
// Создание списка стран
std::vector<Nation> nations = {
Nation("США", 90, 80, 70, 85),
Nation("Китай", 85, 90, 80, 75),
Nation("Россия", 70, 60, 90, 65),
Nation("ЕС", 75, 85, 60, 80)
};
// Запуск симуляции на 10 раундов
for (int i = 0; i < 10; i++) {
std::cout << "Раунд " << i + 1 << ":\n";
for (auto &nation : nations) {
std::string event = generateEvent(nation);
std::cout << nation.name << " - " << event << "\n";
nation.reactToEvent(event);
nation.makeDecision();
}
std::cout << "------------------------\n";
}
return 0;
}
Свидетельство о публикации №484643 от 27 февраля 2025 года#include <iostream>
#include <vector>
#include <string>
#include <random>
// Определение структуры агента (страны)
struct Nation {
std::string name;
int influence;
int economy;
int military;
int diplomacy;
Nation(std::string n, int i, int e, int m, int d)
: name(n), influence(i), economy(e), military(m), diplomacy(d) {}
void reactToEvent(const std::string& event) {
if (event == "Экономический рост") {
economy += 10;
influence += 5;
} else if (event == "Политический кризис") {
influence -= 10;
diplomacy -= 5;
} else if (event == "Военный конфликт") {
military -= 10;
economy -= 5;
} else if (event.find("Санкции против") != std::string::npos) {
economy -= 15;
diplomacy -= 10;
} else if (event == "Подписание международного договора") {
diplomacy += 10;
influence += 5;
}
}
void makeDecision() {
if (economy < 50) {
std::cout << name << " принимает меры по укреплению экономики.\n";
economy += 10;
}
if (military < 50) {
std::cout << name << " усиливает военную мощь.\n";
military += 5;
}
if (diplomacy < 50) {
std::cout << name << " стремится улучшить дипломатические отношения.\n";
diplomacy += 5;
}
}
};
// Генерация случайных событий
std::string generateEvent(Nation &nation) {
std::vector<std::string> events = {
"Экономический рост",
"Политический кризис",
"Военный конфликт",
"Подписание международного договора",
"Санкции против " + nation.name
};
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> distr(0, events.size() - 1);
return events[distr(gen)];
}
int main() {
// Создание списка стран
std::vector<Nation> nations = {
Nation("США", 90, 80, 70, 85),
Nation("Китай", 85, 90, 80, 75),
Nation("Россия", 70, 60, 90, 65),
Nation("ЕС", 75, 85, 60, 80)
};
// Запуск симуляции на 10 раундов
for (int i = 0; i < 10; i++) {
std::cout << "Раунд " << i + 1 << ":\n";
for (auto &nation : nations) {
std::string event = generateEvent(nation);
std::cout << nation.name << " - " << event << "\n";
nation.reactToEvent(event);
nation.makeDecision();
}
std::cout << "------------------------\n";
}
return 0;
}
Голосование:
Суммарный балл: 0
Проголосовало пользователей: 0
Балл суточного голосования: 0
Проголосовало пользователей: 0
Проголосовало пользователей: 0
Балл суточного голосования: 0
Проголосовало пользователей: 0
Голосовать могут только зарегистрированные пользователи
Вас также могут заинтересовать работы:
Отзывы:
|
Оставлен:
Управляют теми, кто согласился быть управляемым.
|
domisol817
|
|
Оставлен:
Цитата: domisol8, 27.02.2025 - 13:51 Управляют теми, кто согласился быть управляемым. а разве родители не управляют своими детьми без их согласия ? |
Lois2
|
Оставлять отзывы могут только зарегистрированные пользователи
Трибуна сайта
Наш рупор













