Проблема моделирования Java - PullRequest
4 голосов
/ 30 августа 2011

Я новичок в симуляции, и я просто хотел найти лучший подход для решения определенной проблемы, с которой я столкнулся.

У меня есть «мир», в котором есть разные локации (разные города).В каждом городе есть определенное количество случайных экипажей, которые работают.У каждой команды есть имя, уровень репутации, определенная сумма денег и количество предприятий, которые она контролирует.Каждое из этих предприятий контролируется по-разному, например, банку может потребоваться большая безопасность, что потребует затрат в этом отделе, в то время как отель потребует больше денег, чтобы потратить на ремонт / структурные улучшения для бизнесабыть успешным.Каждый бизнес будет приносить определенную сумму денег каждую неделю экипажу.Экипажи, как правило, пытаются захватить бизнес другой команды в том же городе, если бизнес уязвим.Бизнес становится уязвимым, если ему не хватает важных отделов, таких как безопасность и т. Д. (Которые варьируются от бизнеса к бизнесу).

Мне нужно каким-то образом реализовать эту модель экипажей, приобретающих бизнес, поддерживающих / защищающихони, когда нападают на другие команды, когда появляется возможность, но я полностью растерялся относительно того, с чего начать.Я мог бы создать множество случайных сценариев типа «что если», но я знаю, что должен быть лучший способ.Любая помощь приветствуется, спасибо.

1 Ответ

5 голосов
/ 30 августа 2011

Начните думать о ваших сущностях высокого уровня и, что более важно, об отношениях между этими сущностями.

Вот некоторые из существительных (сущностей, которые существуют в вашей симуляции):

  • Мир
  • Город
  • Экипажи
  • Бизнес
  • Деньги

Вот некоторые из глаголов (отношений, которые существуют между вашими существительными):

  • Атака / Защита бизнеса
  • Приобретение бизнеса
  • Обнаружение / проверка бизнес-требований (безопасность, капитал и т. Д.)
  • Проверка уязвимости
  • Зарабатывание денег
  • Отслеживание денег
  • Проверка границы города (экипажи атакуют команды в одном городе)
  • Расчет возможностей (для атакующих команд)

Я уверен, что, вероятно, есть и другие. Дело в том, что вам нужно оценить, какие критически важные вещи должны существовать, чтобы ваша симуляция была полезной.

Расчеты уязвимости и возможностей должны быть несколько произвольными, основанными на достаточно обоснованном предположении, что вы не математик. Определите, что вы считаете более важным в процессе принятия решений, через который проходит команда.

Существительные действительно довольно прямые. Вам просто нужно внимательно рассмотреть ваши структуры данных для размещения различных объектов. Подумайте, как вы намереваетесь использовать объекты и использовать структуры данных, которые максимизируют производительность, а также вашу способность проявлять гибкость в случае, если позже в процессе разработки возникнут изменения.

Классы отношений обычно создают трудности, потому что может быть трудно точно описать, что делает процесс. Попытайтесь следовать SRP (принципу единой ответственности - объект должен нести единственную ответственность, и эта ответственность должна быть полностью заключена в классе). Тем не менее, не будь фанатом об этом либо. Иногда это делает больше с тех пор, когда два тесно связанных процесса должны быть объединены.

GL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...