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

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

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

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

#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
Управляют теми, кто согласился быть управляемым.
а разве родители не управляют своими детьми без их согласия ?
2



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

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


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

ВИДЕО: All that she wants - ZanzaraV

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




Наш рупор

 
Песни качаем автора лобзаем

452

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







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

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

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

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