Apendice F - Instituto Tecnólogico de La Laguna

Anuncio
APÉNDICE F
CASO DE ESTUDIO PACMAN
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
CASO DE ESTUDIO PARA CRC: JUEGO DEL PACMAN
1 PLANTEAMIENTO DEL PROBLEMA.
Se va a simular el famoso juego del Pacman en la computadora.
El juego consta de un laberinto donde aparecen Píldoras en los espacios que están entre los
bordes del laberinto, además estas Píldoras al ser comidas por el Pacman desaparecen del
Laberinto, incrementando el valor de los puntos obtenidos en ese momento del Pacman. También
aparecen Píldoras_M las cuales se encuentran en un punto especifico del laberinto.
Estas Píldoras_M al ser comidas por el Pacman también desaparecen, pero con la diferencia de
que aumenta la velocidad del Pacman y cambia el color original de los Fantasmas para que estos
puedan ser comidos por el Pacman, además de incrementar el valor de los puntos del Pacman.
Los Fantasmas también forman parte del juego los cuales tienen la función de perseguir al Pacman
para comérselo y así poder quitarle vidas. En el momento en que un Fantasma se coma al Pacman
y este al decrementar el número de vidas que tiene, si ya no tiene mas este muere, dando
terminado el juego.
Otros elementos en el Juego del Pacman son las Frutas que aparecen en determinado momento
en el laberinto, las cuales se están moviendo en él y esperan a que el Pacman se las coma, si el
Pacman come esta Fruta el valor de los puntos se incrementa, además de incrementar también el
número de vidas del Pacman.
Otro evento que sucede es cuando el Pacman se ha terminado todas las Píldoras, incluyendo las
Píldoras_M antes de que sea atrapado o comido por un Fantasma ésto incrementa el número de
vidas y comienza otra vez el Juego, teniendo el Laberinto otra vez lleno.
Figura # 1
2 CLASES
Se puede observar que el sistema consta de las siguientes clases:
♦
♦
Un Laberinto de juego: el cual contiene todos los elementos para jugar.
Pacman: que puede caminar sobre el Laberinto, comer Píldoras, comer Frutas, comer
Fantasmas, o detenerse en un Borde.
Paola Romero Guillén
21
Instituto Tecnológico
de la Laguna
♦
♦
♦
♦
♦
Análisis y Diseño Orientado
a Objetos
Fantasmas: pueden caminar sobre el Laberinto, atrapar al Pacman, y cambiar su dirección
en un Borde.
Píldoras: usan al Pacman para ser comidas.
Frutas: usan al Pacman para ser comidas.
Borde: usa al Pacman para detenerlo y al Fantasma para cambiar su dirección.
Píldora_M: usa al Pacman para aumentar su velocidad y a los Fantasmas para cambiar su
color.
! Laberinto:
Contiene a todos los elementos que intervienen en el juego. Los elementos son los siguientes:
Pacman
Fantasma
Fruta
Píldora
Píldora_M
Borde
! Pacman:
Este objeto se va a estar moviendo dentro del laberinto y va a ser el que se comerá a las
píldoras y cuando este objeto sea atrapado por un objeto Fantasma se termina el juego.
! Fantasma:
Son varios objetos, los cuales se van a estar moviendo dentro del laberinto. Estos objetos se
encargaran de perseguir al Pacman, si uno de ellos lo atrapa se pierde una vida del Pacman y
si es la ultima el juego termina.
! Fruta:
Este objeto, se va a estar moviendo dentro del laberinto y puede ser comible por el Pacman. Si
este es el caso, el Pacman incrementa los puntos y una vida
Así desaparece la Fruta.
! Píldora:
Son varios objetos que se encuentran en el laberinto. Estos objetos pueden ser comidos por el
Pacman si este se los encuentra a su paso. En ese momento desaparecen del laberinto.
! Píldora_M:
Este objeto hereda los atributos de un objeto Píldora, lo único que se modifica es la velocidad
del Pacman y la capacidad de este para comer Fantasmas.
! Borde:
Son objetos los cuales van a detener al Pacman cuando tope en ellos y cambiará la dirección
tanto de los objetos Fantasma y Fruta.
3 RESPONSABILIDADES
Iniciar Juego
Esta operación es la que inicia el juego. Aquí aparecen todos los elementos que lo componen y es
una responsabilidad de la clase Laberinto.
Aparece_Pacman
Aquí es donde el Pacman hace aparición en la pantalla y es donde empieza a moverse en el
laberinto, siendo entonces una responsabilidad de la clase Pacman.
Paola Romero Guillén
22
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
Camina_Pacman
Esta operación realiza el movimiento del Pacman en el laberinto dependiendo de los valores de la
posición, es una responsabilidad de la clase Pacman.
Come_Píldora
Esta operación manda llamar a otra operación del objeto Píldora. Primero incrementa el valor de
los puntos del Pacman, después manda llamar la operación destruye objeto, perteneciente a la
clase Píldora. Después manda llamar a la operación decrementa(n) que también pertenece a la
clase Píldora, es una responsabilidad de la clase Pacman.
Aumenta_Velocidad
Esta operación incrementa la velocidad del Pacman, es una responsabilidad de la clase Pacman.
Come_Píldora_M
Esta operación manda llamar a otra operación del objeto Píldora. Primero incrementa el valor de
los puntos del Pacman e incrementa la velocidad del Pacman, después manda llamar la operación
destruye objeto, perteneciente a la clase Píldora_m. Después manda llamar a la operación
decrementa(n) que también pertenece a la clase Píldora_m, es una responsabilidad de la clase
Pacman.
Come_Fantasma
Esta operación manda llamar a otra operación del objeto Fantasma. Primero incrementa el valor de
los puntos del Pacman, después manda llamar la operación destruye objeto, perteneciente a la
clase Fantasma. , es una responsabilidad de la clase Pacman.
Come_Fruta
Esta operación manda llamar a otra operación del objeto Fruta. Primero incrementa el valor de los
puntos del Pacman, después manda llamar la operación destruye objeto, perteneciente a la clase
Fruta. Es una responsabilidad de la clase Pacman.
Camina_Fantasma
Esta operación lleva acabo el movimiento del fantasma sobre el laberinto.
Es una responsabilidad de la clase Fantasma.
Aparece_Fantasma
Esta función hace que el fantasma aparezca en ciertas partes del laberinto, para ser comido por el
Pacman, es una responsabilidad de la clase Fantasma.
Cambia_Direccion
Esta función hace que el fantasma cambie de dirección en el laberinto y tenga el movimiento
dependiendo de la dirección que tome y así persiga al Pacman. Es una responsabilidad de la clase
Fantasma.
Cambia_Color
Esta función da el cambio de color a un fantasma cuando es comido por el Pacman, es decir
renace con un nuevo color después de a ver sido comido. Es una responsabilidad de la clase
Fantasma.
Come_Fantasma_Pacman
Esta función se aplica al Pacman, ya que este se come al fantasma cuando lo alcanza dentro del
laberinto. Es una responsabilidad de la clase Fantasma.
Camina_Fruta
Esta función hace que la Fruta camine por el Laberinto para ser comida por el Pacman. Es una
responsabilidad de la clase Fruta.
Paola Romero Guillén
23
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
Aparece_Fruta
Esta función tiene la aplicación de hacer aparecer a la Fruta en cierto tiempo para que esta pueda
ser comida por el Pacman. Es una responsabilidad de la clase Fruta.
Aparece_Píldora
Esta función sale a la vista en el Laberinto y son comidas por el Pacman e incrementa una vida. Es
una responsabilidad de la clase Píldora.
Decrementa(n).
Esta función decrementa el número de píldoras existentes en el Laberinto, cuando el Pacman se
las come. Es una responsabilidad de la clase Píldora.
Aparece_Pildora_M(Posicion).
Esta función dibuja las Píldoras_M en el Laberinto. Es una responsabilidad de la clase Píldora_M.
Decrementa(n).
Esta función decrementa el número de Píldoras_M existentes en el Laberinto, cuando el Pacman
se las come. Es una responsabilidad de la clase Píldora_M.
Aparece_Borde
Dibujar los bordes en el Laberinto. Es una responsabilidad de la clase Borde.
4 COLABORACIONES
Clase: Laberinto
Responsabilidades
Inicia
Colaboraciones
Pacman,Fantasma,Fruta,PíldoraN,
PíldoraM, Borde
Tabla # 1
Clase: Pacman
Responsabilidades
Aparece_Pacman
Camina_Pacman
Come_Píldora
Come_PíldoraM
AumentaVelocidad
Come_Fantasma
Come_Fruta
Colaboraciones
PíldoraN
Píldora_M
Píldora_M
Fantasma
Fruta
Tabla # 2
Clase: Fantasma
Responsabilidades
Aparece_Fantasma
Camina_Fantasma
Cambia_Dirección
Cambia_Color
Come_Pacman
Desaparecer
Colaboraciones
Pacman
Pacman
Tabla # 3
Paola Romero Guillén
24
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
Clase: Píldora
Subclases: PíldoraM, PíldoraN
Responsabilidades
Aparecer_PíldoraM
Decrementa(n)
Desaparecer
Colaboraciones
Tabla # 4
Clase: PíldoraM
Superclase: Píldora
Responsabilidades
Colaboraciones
Tabla # 5
Clase: PildoraN
Superclase: Píldora
Responsabilidades
Colaboraciones
Tabla # 6
Clase: Borde
Responsabilidades
Aparecer_Borde
Colaboraciones
Tabla # 7
Clase: Fruta
Responsabilidades
Aparecer_Fruta
Camina_Fruta
Desaparecer
Colaboraciones
Tabla # 8
Paola Romero Guillén
25
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
5 JERARQUIAS
Píldora
PíldoraN
PíldoraM
Pacman
Figura # 7
Figura # 2, jerarquías
CONTRATOS
Clase concreta: Laberinto
Responsabilidades
Inicia
Colaboraciones
Pacman(1),Fantasma(3),
Fruta(8),PildoraN(5), PildoraM(6),
Borde(7)
Tabla # 9
Clase concreta: Pacman
Responsabilidades
1. Aparece_Pacman
Camina_Pacman
Come_Píldora
2. Come_PíldoraM
AumentaVelocidad
Come_Fantasma
Come_Fruta
Colaboraciones
PíldoraN(6)
Píldora_M(6)
Píldora_M(6)
Fantasma(4)
Fruta(9)
Tabla # 10
Clase concreta: Fantasma
Responsabilidades
3. Aparece_Fantasma
Camina_Fantasma
Cambia_Dirección
Cambia_Color
Come_Pacman
4. Desaparecer
Colaboraciones
Pacman(2)
Pacman(2)
Tabla # 11
Paola Romero Guillén
26
Instituto Tecnológico
de la Laguna
Clase abstracta: Píldora
Subclases: PíldoraM, PíldoraN
Responsabilidades
Análisis y Diseño Orientado
a Objetos
Colaboraciones
5. Aparecer_Píldora
6. Decrementa(n)
Desaparecer
Tabla # 12
Clase concreta: PíldoraM
Superclase: Píldora
Responsabilidades
Colaboraciones
Tabla # 13
Clase concreta: PíldoraN
Superclase: Píldora
Responsabilidades
Colaboraciones
Tabla # 14
Clase concreta: Borde
Responsabilidades
7. Aparecer_Borde
Colaboraciones
Tabla # 15
Clase concreta: Fruta
Responsabilidades
8. Aparecer_Fruta
Camina_Fruta
9. Desaparecer
Colaboraciones
Tabla # 16
Paola Romero Guillén
27
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
6 DIAGRAMA DE COLABORACIONES
1
2
3
4
5
6
Píldora
Pacman
Fantasma
PíldoraN
8
9
PíldoraM
7
Fruta
Borde
Laberinto
Figura # 3
7 PROTOCOLOS
Clase: Fantasma
(Concreta)
Superclase: Ninguna
Subclases: Ninguna
Diagrama de Herencia: Ninguno
Diagrama de Colaboraciones: Figura # 9
Descripción: Son varios objetos, los cuales se van a estar moviendo dentro del laberinto.
Estos objetos se encargaran de perseguir al Pacman, si uno de ellos lo atrapa se pierde
una vida del Pacman y si es la ultima el juego termina.
Contratos:
3. Aparece Fantasma
Aparece_Fantasma
Aparece_Fantasma(Posición): este método permite visualizar los
Fantasmas como objetos dentro del juego.
4. Desaparecer
Desaparecer
Desaparece_F(): este método permite que se destruyan los objetos
Fantasma, así como no permitir su visualización.
Tabla # 16
Paola Romero Guillén
28
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
Tabla # 17
Clase: Pacman
(Concreta)
Superclase: Ninguna
Subclases: Ninguna
Diagrama de Herencia: Figura # 8
Diagrama de Colaboraciones: Figura # 9
Descripción: Este objeto se va a estar moviendo dentro del laberinto y va a ser el que se
va comer las Píldoras y cuando este objeto sea atrapado por un objeto fantasma se
termina el juego.
Contratos:
1. Aparece Pacman
Aparece_Pacman
Aparece_Pacman(Posición): este método permite visualizar el Pacman
como un objeto dentro del juego.
2. Come Píldora
Come Píldora
Come _ píldora(Valor): este método permite al Pacman llevar a cabo el
aumento de puntuación.
Aumenta Velocidad
Aumenta_Velocidad(Valor): este método le permite al Pacman
incrementar la velocidad con la cual este se mueve dentro del
Laberinto.
Paola Romero Guillén
29
Instituto Tecnológico
de la Laguna
Análisis y Diseño Orientado
a Objetos
Tabla # 18
Clase: Píldora
(Abstracta)
Superclase: Ninguna
Subclases: PíldoraN, PíldoraM
Diagrama de Herencia: Figura # 7
Diagrama de Colaboraciones: Figura # 9
Descripción: Son varios objetos que se encuentran en el laberinto. Estos objetos pueden
ser comidos por el Pacman si este se los encuentra a su paso. En ese momento
desaparecen del laberinto.
Contratos:
5. Aparece Píldora
Aparece_Píldora
Aparece_Píldora(Posición): este método permite visualizar las
Píldoras como objetos dentro del juego.
6. DesaparecerP
Decrementar n
Decrementa(n): este método permite decrementar el número de píldoras
que existen en el juego.
Desaparecer
Desaparece_P(): este método permite que se destruyan los objetos
Píldora, así como no permitir su visualización.
Paola Romero Guillén
30
Descargar