16+
Лайт-версия сайта

Программа для Матрицы, программа, которая управляет миром

Изобретения / Программные / Программа для Матрицы, программа, которая управляет миром
Просмотр работы:
27 февраля ’2025   13:28
Просмотров: 3129

Программа для Матрицы, программа, которая управляет миром

#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 года





Голосование:

Суммарный балл: 0
Проголосовало пользователей: 0

Балл суточного голосования: 0
Проголосовало пользователей: 0

Голосовать могут только зарегистрированные пользователи

Вас также могут заинтересовать работы:



Отзывы:


Оставлен: 27 февраля ’2025   13:51
Управляют теми, кто согласился быть управляемым.

Оставлен: 27 февраля ’2025   17:22
Цитата:  domisol8, 27.02.2025 - 13:51
Управляют теми, кто согласился быть управляемым.
а разве родители не управляют своими детьми без их согласия ?
2On-line



Оставлять отзывы могут только зарегистрированные пользователи
Логин
Пароль

Регистрация
Забыли пароль?


Трибуна сайта

581
Пока качаем песни,припеваем...

Присоединяйтесь 




Наш рупор

 
Друзья, вашему вниманию релиз на мою песню "Не Простить". Буду рад отзывам!
https://www.neizvestniy-geniy.ru/cat/music/bardi/2819872.html


Присоединяйтесь 







© 2009 - 2026 www.neizvestniy-geniy.ru         Карта сайта

Яндекс.Метрика
Реклама на нашем сайте

Мы в соц. сетях —  ВКонтакте Одноклассники Livejournal

Разработка web-сайта — Веб-студия BondSoft