Diseño POO TicTacToe

15 feb. 2013 - tac toe). El sistema será monousuario. El sistema debe permitir jugar contra la máquina. La cual debe tener 2 niveles: Fácil y Difícil. El tablero ...
313KB Größe 49 Downloads 161 vistas
DISEÑO POO Programación Orientada a Objetos

Identificación de clases candidatas 2

Entidades Externas que producen o consumen información a usar por un sistema computacional. Por ejemplo: otros sistemas, dispositivos, personas. Cosas que son parte del dominio de información del problema. Por ejemplo: informes, presentaciones, cartas, señales. Ocurrencias o Sucesos que ocurren dentro del contexto de una operación del sistema. Por ejemplo: una transferencia de propiedad o la terminación de una serie de movimientos en un robot. zombie-ant.com/edu

15/02/2013

Identificación de clases candidatas 3

Papeles o Roles desempeñados por personas que interactúan con el sistema. Por ejemplo: director, ingeniero, vendedor. Unidades Organizacionales que son relevantes en una aplicación. Por ejemplo: división, grupo, equipo. Lugares que establecen el contexto del problema y la función general del sistema. Por ejemplo: planta de producción o muelle de carga. Estructuras que definen una clase de objetos o, en casos extremos, clases relacionadas de objetos. Por ejemplo: sensores, vehículos de cuatro ruedas o computadoras. zombie-ant.com/edu

15/02/2013

Ejemplo 4

Se desea realizar un sistema para jugar gato (tic tac toe). El sistema será monousuario. El sistema debe permitir jugar contra la máquina. La cual debe tener 2 niveles: Fácil y Difícil. El tablero debe ser de 3 x 3 casillas. Gana quien logra una línea horizontal, vertical o diagonal.

zombie-ant.com/edu

15/02/2013

Identificando clases 5

Se desea realizar un sistema para jugar gato (tic tac toe). El sistema será monousuario. El sistema debe permitir jugar contra la máquina. La cual debe tener 2 niveles: Fácil y Difícil. El tablero debe ser de 3 x 3 casillas. Gana quien logra una línea horizontal, vertical o diagonal.

zombie-ant.com/edu

15/02/2013

Clases potenciales 6

Usuario Máquina (IA) Nivel Tablero Casilla Línea

zombie-ant.com/edu

15/02/2013

Características de selección para incluir una clase candidata en el modelo: 7

Información retenida el objeto potencial será de utilidad durante el análisis solamente si la información acerca de él debe recordarse para que el sistema funcione. Servicios necesarios el objeto potencial debe poseer un conjunto de operaciones identificables que pueden cambiar de alguna manera el valor de sus atributos.

zombie-ant.com/edu

15/02/2013

8

Características de selección para incluir una clase candidata en el modelo: Atributos múltiples durante el análisis de requisitos, se debe centrar la atención en la información principal (un objeto con un solo atributo puede, en efecto, ser útil durante el diseño, pero seguramente será mejor presentado como un atributo de otro objeto durante la actividad de análisis). Atributos comunes puede definirse un conjunto de atributos para el objeto potencial, los cuales son aplicables a todas las ocurrencias del objeto. zombie-ant.com/edu

15/02/2013

Características de selección para incluir un objeto potencial en el modelo de análisis: 9

Operaciones comunes puede definirse un conjunto de operaciones para el objeto potencial, las cuales son aplicables a todas las ocurrencias del objeto. Requisitos esenciales entidades externas que aparecen en el espacio del problema y producen o consumen información esencial para la producción de cualquier solución para el sistema, serán casi siempre definidas como objetos en el modelo de requisitos. zombie-ant.com/edu

15/02/2013

Diseño del tic tac toe 10

Usuario Máquina (IA) Nivel Tablero Casilla Línea

zombie-ant.com/edu

15/02/2013

Clases del sistema 11

Clase Usuario Se necesita un método para obtener una tirada del teclado del usuario.

Clase Máquina Se necesita tener el atributo del nivel de la máquina. Se necesita un método para obtener la tirada de la máquina. Se necesita tener un método para obtener una tirada fácil, y una tirada difícil de la máquina dependiendo del nivel. zombie-ant.com/edu

15/02/2013

Clases del sistema 12

Tablero Se necesita un atributo que represente el tablero. Una matriz de enteros puede funcionar. Se necesita un método para validar la tirada (que sea sobre una casilla vacía). Se necesita un método para marcar la casilla tirada. Se necesita un método para saber si el tablero ya está lleno, y no puede recibir más tiradas. Se necesita un método para determinar la marca ganadora (X, O). Se necesita un método para dibujar el tablero. zombie-ant.com/edu

15/02/2013

Breve repaso de Matrices 13

Una matriz es un arreglo de 2 dimensiones. Su declaración es: int [][] matriz = new int [3][3];

Lo que crea un arreglo del estilo: 0

1

2

0 1 2 zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 14

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[0][0]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 15

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[0][1]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 16

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[0][2]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 17

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[1][0]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 18

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[1][1]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 19

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[1][2]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 20

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[2][0]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 21

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[2][1]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Breve repaso de matrices 22

Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0

matriz[2][2]

1

2

0 1 2

zombie-ant.com/edu

15/02/2013

Cómo recorrer una matriz 23

Para recorrer una matriz, a diferencia de un arreglo de una dimensión, se requieren de dos ciclos for. Ejemplo: public static void main (String [] args){ for (int i = 0; i