2010-06-07 19 views
9

Estoy tratando de hacer el modelo de dominio de un juego de Tic Tac Toe. Trataré de continuar con los diversos pasos del proceso unificado y luego implementarlo en algún idioma (C# o Java).Haciendo el modelo de dominio de tic tac toe

me gustaría tener alguna información si voy en el camino correcto: alt text http://dl.dropbox.com/u/6187267/shooterpics/tictactoedm.jpg

he definido el juego con dos actores, y Player OPlayer X.

  1. no estoy seguro acerca de cómo definir tanto un Tile y una Tile State. Tal vez solo debería definir un Tile y tener los 3 posibles estados especializados de él?
  2. no estoy seguro de lo que es mejor: tener ambos Player OPlayer X y ser asociaciones con Tic Tac Toe o hacer que se heredan de Player que se asocia con Tic Tac Toe. Siguiendo el diseño mostrado en la imagen, en teoría podríamos tener un concepto Tic Tac Toe con 2 O jugadores, lo que no sería correcto. ¿Qué opinas de esto?

Además, ¿me falta algo en el diagrama? Aunque no puedo ver ningún otro actor para Tic Tac Toe, ¿debería tener otro?

Gracias

+0

No creo que las fichas deban tener coordenadas (o debería haber una tabla ... ¿de qué sirve?) ... son solo 9 fichas y nunca cambian, solo las numeraría del 1 al 9, de esa manera también es un poco más fácil verificar si hay estados ganadores. También no estoy seguro de si usaría el reproductor, puede pensar en un símbolo alterno (O o X) para ponerlo en el mosaico, y cuando encuentre una condición ganadora, solo ad +1 al puntaje del simbol actual. Contar –

+0

Un tablero es un contenedor de azulejos. Y un juego de Tic Tac Toe tiene una Junta. No significa que tendré esas mismas clases en el diagrama de clases. –

+0

sry para no relacionado y necroposting, ¿cuál es el software que usó para este diagrama? –

Respuesta

1

Para su diagrama:

  1. está constituido por debería ser composición relación, no asociación (Tiles no puede existir por su cuenta, el estado de la junta se define por el estado de sus azulejos.)
  2. jugador O y el jugador X son instancias de la clase del jugador, no subclases (jugador 0 y el jugador X tener la misma estructura que la del jugador, que tienen el mismo comportamiento, la diferencia está en la identidad y el estado - nombre en el diagrama)

Cuando está hablando de un modelo de dominio (en el contexto de UP), debe olvidarse de crear un sistema de software e incluir solo lo que es importante para el dominio del juego de tres en raya. Piense en cómo se describe cualquier juego: tiene sus reglas (preparación, turnos, condiciones de finalización del juego, ...), jugadores (con identidad para más juegos, puntos, componentes propios/controlados, roles ...) y componentes físicos (tableros, tokens, figuras, tarjetas ...). Si acepta esos elementos para ser parte del modelo de dominio para los juegos y, por lo tanto, metamodelo para su juego de tres en raya, debe usar elementos, que son instancias de esos elementos.

7

una descomposición clase alternativa sería sustituir Junta de baldosas y con el juego y el Mover. Un juego contendría una serie legal de Movimientos, y un Movimiento contendría las coordenadas cuadradas (u otro identificador) y si era el jugador O o X. Este esquema contiene un poco más de información que permite que el juego pueda reproducirse y respaldarse.

Cuestiones relacionadas