Показать сообщение отдельно
Старый 24.05.2011, 22:58
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 17  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Я предлагаю более подробно рассмотреть состояния, так как некоторые они позволяют использовать упрощенные модели для описания корована. Для описания состояния я предлагаю использовать 2 флага:
- стационарный/мобильный
- мирный/воинственный
Сочетание этих флагов дает нам 4 состояния:
Код:
стационарный && мирный          остановился на ночлег
стационарный && воинственный    обороняется от ограбления
   мобильный && мирный          следует по маршруту
   мобильный && воинственный    воинственно убегает от разграбителей
В качестве примера упрощения, возьму состояние мирного следования по маршруту. Для этого состояния не обязательно разделять тяговые юниты и грузовые контейнеры. Фактически, такое разделение порождает необходимость хранения и обработки информации об отношениях вышеуказанных сущностей, так как один верблюд может нести на себе два маленьких контейнера, два верблюда могут тянуть один большой контейнер, и еще пять верблюдов - тянуть связку из трех контейнеров; плюс каждый верблюд может управляться как персональным наездником, так и быть тупо привязанным (веревкой) к впереди идущему. Для данного состояния эти связи не представляют большой важности, поэтому вполне правомерно инкапсулировать их в сущность "транспортный юнит".
Вполне возможно, что в короване имеются запасные верблюды, которые ничего не тянут, и пассажиры, которые драться толком не умеют. Эти сущности можно вообще не причислять к юнитам, а прописать как материальные ценности.
Что же касается охранных юнитов, то их тоже желательно инкапсулировать, так как охранными юнитами являются как бойцы на верблюдах, так и бойцы без верблюдов, и даже бойцы, у которых верблюд есть, но в данный момент они идут пешком, ибо все охранные юниты являются приоритетными слушателями события смены флага "мирный/воинственный" и мобилизуются автоматически. Таким образом, модель корована в состоянии мирного следования по маршруту сводится к простому набору юнитов двух типов.
Непосредственно перед началом активных действий по разграблению корован находится именно в этом состоянии, и данная модель позволяет свести интерфейс анализа привлекательности разграбления единственному геттеру, который возвращает отношение материальной ценности к охранной мощи.
__________________
тонкий тролль, осеянный благодатью