Как получить минимальное значение переменной, общей для нескольких запущенных объектов? - PullRequest
3 голосов
/ 22 июня 2011

Я пытаюсь эмулировать боевую последовательность, используя потоки и MVC.Детали:

  • Каждое существо имеет показатель инициативы, определяющий, кто должен идти первым.
  • Каждое существо должно указать свою предполагаемую цель.
  • Существа загружаются в стекв классе «Бой»;существо с наименьшим количеством очков входит в стек первым.
  • Как только каждое существо выбрало цель, стек опустошается, и существа действуют в соответствии с порядком их действий, начиная с наивысшего.

Из-за ограничения при назначении я должен обращаться с существами какотдельные темы.Проблема в следующем:

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

Я прошу прощения, если яне могу выразить это более ясно.Это очень расстраивает.

1 Ответ

0 голосов
/ 22 июля 2011

Не зная точных требований этого Задания, трудно дать хороший ответ, но вот пара идей для вас.

Класс Combat должен знать, когда у него есть все ходы, чтобы он мог их обработать,Либо каждое существо должно делать Боевое движение один раз за ход, либо имеет какой-то способ, если сигнализирует, что не собирается делать Боевое движение, или что-то подобное.Без этой информации вы не знаете, когда обрабатывать ходы.

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

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