2010-06-07 2 views
9

Я пытаюсь сделать модель домена игры Tic Tac Toe. Затем я попытаюсь выполнить различные шаги Унифицированного процесса, а затем реализовать его на каком-то языке (C# или Java).Создание доменной модели tic tac toe

Я хотел бы иметь некоторую обратную связь, если я иду по правильному пути: alt text http://dl.dropbox.com/u/6187267/shooterpics/tictactoedm.jpg

Я определил игру с двумя актерами, Player O и Player X.

  1. Я не уверен в определении как Tile, так и Tile State. Может быть, я должен определить только Tile и у вас есть 3 возможных состояния?
  2. Я не уверен, что лучше: иметь как Player O и Player X быть ассоциации с Tic Tac Toe или иметь их наследовать от Player, связанного с Tic Tac Toe. Следуя рисунку, показанному на рис., Теоретически мы могли бы иметь концепцию Tic Tac Toe с двумя игроками O, что было бы неверно. Как вы относитесь к этому?

Кроме того, я что-то пропустил на диаграмме? Хотя я не вижу других актеров для Tic Tac Toe, должен ли я иметь кого-нибудь другого?

Благодаря

+0

Я не думаю, что плитки должны иметь координаты (или там должна быть доска .. что это такое?) .. ее только 9 плиток, и они никогда не меняются, я бы просто их номер от 1 до 9, таким образом его также немного легче проверить на состояния победы. Также я не уверен, что если я вообще буду использовать плеер, вы можете подумать о чередовании символа (O или X), чтобы положить его в плитку, а когда вы найдете условие wining, вы просто добавьте +1 к счету в текущий символ counte –

+0

Доска является контейнером Плитки. И игра Tic Tac Toe имеет совет. Это не значит, что у меня будут те же классы на диаграмме классов. –

+0

sry for unrelated and necroposting, какое программное обеспечение вы использовали для этой диаграммы? –

ответ

1

На диаграмме:

  1. образован должен быть композиционный отношения, а не ассоциации (Плитки не могут существовать сами по себе, состояние совета определяется состоянием его плитки.)
  2. Игрок O и Player X являются экземплярами класса игрока, а не подклассы (Player 0 и игрока X имеют такую ​​же структуру, как и игрок, они имеют такое же поведение, разница в идентичности и государства - название вашей диаграммы)

Когда вы говорите о модели домена (в контексте UP), вы должны забыть о создании программной системы и включить только то, что важно для домена игры с tic tac toe. Подумайте о том, как описывается любая игра - у нее есть свои правила (подготовка, повороты, условия игры, ...), игроки (с идентификацией для большего количества игр, очков, принадлежащих/контролируемых компонентов, ролей ...) и физических компонентов (доски, жетоны, цифры, карты ...). Если вы примете эти элементы для участия в модели домена для игр и, следовательно, метамодели для игры с tic tac toe, вы должны использовать элементы, которые являются экземплярами этих элементов.

7

декомпозиции альтернативный класс должен был бы заменить совет и плитки с игрой и Move. Игра будет содержать легальную серию Moves, а Move будет содержать квадратные координаты (или какой-либо другой идентификатор) и был ли он игроком O или X. Эта схема содержит немного больше информации, позволяющей воспроизводить и резервировать игру.