Story Transcript
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