Для удовольствия я пытаюсь написать одну из любимых настольных игр моего сына как часть программного обеспечения. В конце концов, я ожидаю, что на нем будет создан пользовательский интерфейс WPF, но сейчас я строю машину, которая моделирует игры и свои правила.Любые шаблоны для моделирования настольных игр?
Как я это делаю, я все время вижу проблемы, которые, как мне кажется, являются общими для многих настольных игр, и, возможно, другие уже решили их лучше, чем я.
(. Обратите внимание, что AI играть в этой игре, и узоры вокруг высокой производительности не интересны мне)
До сих пор мои шаблоны:
Несколько неизменных типов, представляющих объекты в игре поле, например кости, шашки, карты, доска, пространства на борту, деньги и т.д.
Объект для каждого игрока, который содержит игроков ресурсы (например, деньги, оценка), их имена и т.д.
Объект, который представляет состояние игры: игроки, кто его поворачивает, макет пек на доске и т. Д.
Конечный автомат, управляющий чередой. Например, во многих играх есть небольшая пред-игра, где каждый игрок бросается посмотреть, кто идет первым; это начальное состояние. Когда начинается поворот игрока, сначала они катятся, затем двигаются, затем им приходится танцевать на месте, а затем другие игроки угадывают, какая у них курица, затем они получают очки.
Есть ли некоторые из предшествующих уровней техники, которыми я могу воспользоваться?
EDIT: Одна вещь, которую я понял, в последнее время является то, что состояние игры можно разделить на две категории:
игры артефакт состояние. «У меня 10 долларов», или «моя левая рука на синем».
Состояние последовательности воспроизведения игр. «Я дважды удвоился, а следующий посадил меня в тюрьму». Здесь может иметь смысл конечный автомат.
EDIT: Что я действительно ищет здесь является лучший способ реализации многопользовательских пошаговых игр, таких как шахматы или Эрудит или Монополии. Я уверен, что смогу создать такую игру, просто работая над ней, и начнет ее завершать, но, как и другие шаблоны проектирования, возможно, есть некоторые способы сделать вещи более плавными, которые не очевидны без тщательного изучения. Это то, на что я надеюсь.
Вы строите своего рода Hokey Pokey, Monopoly, шарады mashup? – 2008-12-11 21:29:15
Вам понадобится машина состояний для любого правила, которое полагается на состояние (err ...), как правило трех двойников для монополии. Я бы опубликовал более полный ответ, но у меня нет опыта в этом. Хотя я мог бы понтификатировать об этом. – MSN 2009-02-19 17:51:26