Вы находитесь на странице: 1из 10

INDICE 1. INTRODUCCION .................................................................................................... 2 2. DESCRIPCION DETALLADA ................................................................................ 2 3. OBJETIVOS ........................................................................................................... 3 3.1. GENERALES ................................................................................................... 3 3.2. ESPECIFICOS ................................................................................................. 3 4.

REQUERIMIENTOS DE USUARIO ........................................................................ 3 5. REQUERIMIENTOS FUNCIONALES ..................................................................... 4

6. ANALISIS (MODELAMIENTO) ............................................................................... 4 6.1. MODELO DE CLASE ...................................................................................... 4 7. ESPECIFICACION DE LAS CLASES .................................................................... 5 8. DISEO DE LA INTERFAZ DE USUARIO ............................................................. 6

9. JUSTIFICACION DEL LENGUAJE ........................................................................ 7 10. ASPECTOS IMPORTANTES DE LA IMPLEMENTACION ..................................... 7

11. CONCLUSIONES ................................................................................................... 8 11.1. FUNCIONALES ............................................................................................ 8 11.2. DE LA APLICACIN .................................................................................... 8 11.3. DEL TRABAJO EN GRUPO ........................................................................ 8 12. BIBLIOGRAFIA 12.1. LIBROS DE REFERENCIA .......................................................................... 9 12.2. PAGINAS WEB DE REFERENCIA .............................................................. 9 12.3. VIDEO TUTORIALES ................................................................................... 10

ANEXOS ...................................................................................................................... 10

Pgina 1

1. INTRODUCCION: El Juego de Pacman es un video juego arcade, el nombre del juego proviene de la onomatopeya japonesa paku (), que es el sonido que se produce al abrir y cerrar la boca. El nombre se romaniz como Puck-Man en Japn (en ingls puck se pronunciara parecido a pac en espaol), pero la empresa Midway Games lo modific a Pac-Man para el mercado estadounidense (y posteriormente otros mercados occidentales) debido a que la gente le quitara un pedazo a la "P" de Puck-Man, formando un insulto en ingls. Nuestro personaje del juego (Pacman), tiene 4 enemigos: Blinky, Pinky, Inky y Clyde, los cuales intentan comerse a Pacman, mientras este no coma los PowerPellets, que dan la habilidad a Pacman de poder devorar a sus enemigos por un determinado tiempo.

2. DESCRIPCION DETALLADA DEL PROBLEMA: El Juego de Pacman, llega a ser un gran reto en su elaboracin dentro del lenguaje java, y ms cuando se piensa como empezar a disearlo. Este Juego de Pacman, dentro del rea de lgica y programacin, abarca dos grandes campo, siendo estos: el campo grafico y de control (en JAVA por supuesto); ya que aplica un gran nmero de clases propias de java que se llegan a utilizar durante la implementacin de la misma, podemos mencionar las libreras de donde se utilizan las clases que se implementan en el programa: - Librera javax.Swing.*; (Campo Grafico). - Librera java.Util.*; (Area de Insercion de Datos). - Librera java.io.*; (Entrada y salida de Datos). - Librera java.awt.*; (Eventos de teclado y componentes). - Etc.

Tales libreras mencionadas anteriormente, nos proporcionaran los recursos necesarios para poder elaborar el Juego de Pacman, podemos mencionar algunas clases utilizadas de las libreriras anteriormente mencionadas: Clase JButton: Nos proporciona botones, que se aplicaran en el cambio de controles del juego. Clase JFrame: Nos proporciona la ventana del juego, donde se encontraran todos los componentes del mismo.

Pgina 2

Clase Thread: Nos ayuda en la ejecucin del juego. Clase Graphics: Nos permite el pintado de los elementos del juego en ejecucin. Clase ImageIcon: Carga de la imagen de un objeto en el juego, estos llegan a ser: el pacman, las paredes, los fantasmas, las frutas, los pacdots y otros. Clase JLabel: Carga de mensajes (etiquetas).

Adems necesitaremos herramientas de trabajo para el diseo y creacin del mismo, en este caso, se tuvo que utilizar los siguientes IDEs: BluJ, y Eclipse Yoxos; adems de la plataforma y el kit de desarrollo de Java. Cabe recalcar que los conocimientos adquiridos durante las materias anteriores relacionadas con el rea de programacin, no son suficientes para el completo desarrollo del programa, as que se recurri a la bsqueda de informacin, y ms, en la parte de grficos y uso de threads. 3. OBJETIVOS: 3.1 OBJETIVO GENERAL: Crear un juego divertido de forma sana para los usuarios, los cuales lleguen a ver la habilidad que tienen dentro del juego a travs de los diferentes niveles del mismo. OBJETIVOS ESPECIFICOS: Aplicar los conocimientos adquiridos para la elaboracin del mismo. Ampliar los conocimientos para poder simplificar el trabajo y la complejidad en el desarrollo del programa. Llegar a aprender, diferentes formas de soluciones a un problema dado, y viendo la solucin ms simple y efectiva Llegar a trabajar en coordinacin y equipo con los integrantes del grupo, para tener un avance rpido en el desarrollo del programa.

3.2

4. REQUERIMIENTOS DE USUARIO: Una interfaz fcil de manipular. Un programa con el cual se pueda interactuar fcilmente. Que no presente errores y sea eficaz.

Pgina 3

5. REQUERIMIENTOS FUNCIONALES: De Sistema: - Windows XP Service Pack2 o Service Pack 3. - Windows Vista 32 o 64 bits. - Windows 7 32 o 64 bits. - Tener instalado la plataforma de java: JDK (herramientas de la plataforma de JAVA, preferente tener la versin 7 del JDK) y el JVM (Maquina virtual de JAVA). De Recursos (Hardware): - Memoria Ram minima de 256Mb, preferentemente tener de 512Mb. - Procesador (Minimo): Intel P4 2.4 Ghz, AMD Athlon 2.4 Ghz. - KeyBoard (Teclado), espaol o ingles. - Mouse de 2 o tres botones. - Tarjeta grafica mnima de 64Mb. puede ser integrada, como no.

6. ANALISIS (MODELAMIENTO): 6.1 MODELO DE CLASES: Teniendo el sistema definido y las variables definidas que interactuaran en el sistema planteamos el siguiente modelo. La cual tenemos en la siguiente figura:

Pgina 4

7. ESPECIFICACION DE LAS CLASES: En la siguiente lista, se vern todas las clases creadas y utilizadas para el diseo y desarrollo del programa, se dara a conocer su principal funcin de cada una: Clase JuegoPacman: Desde esta clase, se corre el programa por completo, llamando as a las clases Ventana, Archivo, y Mapa, para poder generar la interfaz grafica. Clase CambiarKeys: Esta clase permite la asignacin de nuevos controles para el juego, pudiendo el usuario cambiar los controles a su preferencia, es utilizado por la clase Ventana. Clase MenuPrincipal: Simplemente se encarga de generar la pantalla de inicio del juego, llamando asi, a la clase Ventana y JuegoPacman Clase Ventana: Esta es la clase de mayor importancia, puesto que esta realiza el control de las teclas presionadas, adems que es la que comienza a ejecutar el juego cuando se realiza la peticin de empezar o reanudar, adems se encarga de dar funcionalidad a al teclado.

Pgina 5

Clase MapaVisual: Es la encargada de dibujar los elementos en la ventana: los fantasmas, pacman, frutas, paredes, pacdots, powerpacman. Clase Mapa: Se lo usa como referencia, para la creacin del mapa de objetos en una matriz de objetos, que posteriormente se la utiliza para dibujar los elementos en la ventana, utiliza la clase Objeto. Clase Objeto: Hace referencia a todos los objetos dentro del juego como ser: los fantasmas, nuestro protagonista pacman, los pacdos, las frutas, los powerdots que dan la habilidad al pacman de comer fantasmas, y las paredes que limitan el mapa. Clase PacMan: Esta clase representa a nuestro personaje en el juego, se tiene implementada los mtodos de comerPacDots, matarGhost, movePacman, updateDireccion, etc. Clase PacDots: Representa a los puntos amarillos pequeos que nuestro personaje come. Clase Pared: Representa a los bloques que delimitan el mapa y el camino de nuestro personaje y de los fantasmas. Clase Frutas: En el juego, representa a las frutas que come nuestro pacman, este, tiene la habilidad de moverse, y adems tiene un puntaje extra para nuestro personaje, si se lo come. Clase PowerPacman: Son los puntos amarillos grandes (PowerPellets), que dan la habilidad a Pacman de comer a los fantasmas en un determinado tiempo. Clase Jugador: Nos representa a un jugador, que cuando haya terminado el juego(GameOver), si tiene un puntaje alto, se lo aadir a la lista de los mejores puntajes. Clase Ranking: Dentro de s, contiene la lista de los mejores jugadores (un arraylist tipo Jugador), y lo ordena del puntaje ms alto, al menor, tenindose las 10 puntuaciones ms altas del juego. Clase SaveName: Esta clase nos genera una ventana, cuando el usuario este en GameOver, que le permitir al usuario ingresar su nombre, para luego aadirla al ranking del juego. Clase ScoreLife: Simplemente dibuja en la ventana (JFrame), el nuemro de vidas que le queda al pacman, y el puntaje que obtiene cada vez que coma un fatasma, un pacdots, una furta, o un PowerPellets. Clase Archivo: Esta clase guarda el ranking del juego, en un archivo con extensin .TXT, y que se actualiza cada vez que el puntaje del jugador se llegue a encontrar entre los 10 puntajes mas altos.

8. DISEO DE LA INTERFAZ DE USUARIO: El diseo de la interfaz se desarrollo lo mas simple posible, para que el usuario, pueda usar de forma practica y fcil el juego, adems siendo esta llamativa para el usuario final.

Pgina 6

9. JUSTIFICACION DEL LENGUAJE: Muy aparte de que en dentro de la carrera, se comienza a programar llevando el lenguaje JAVA, tomamos este lenguaje para el diseo, desarrollo y creacin de este juego, porque nos proporciona herramientas y recursos del lenguaje, que nos facilitan a la hora de programar, nos ahorra tiempo, simplifica trabajos tediosos, no como otros lenguajes (c++, c#, pascal, visual basic, turbo pascal, etc) que como ejemplo ponemos mostrar imagen en pantalla, en java simplemente se usa un jframe, un panel, y una variable que almacene la imagen para luego imprimirla por pantalla, en otros lenguajes, se debe hacer soporte de imgenes, control de ejecucin y dems. Adems existe mayor comprensin a la hora de programar en este lenguaje, la sintaxis es simple y entendible. Cabe recalcar que este lenguaje es multi plataforma, es decir, que es posible corra en muchos sistemas operativos diferentes, como ser: LINUX, IUNIX, SOLARIS, MAC OS, WINDOWS, etc. Y no solamente en sistemas de ordenadores, tambin en sistemas para dispositivos mviles: Android OS, Windows Phone, Bada, Symbian, etc. 10. ASPECTOS IMPORTANTES DE LA IMPLEMENTACION:

Las clases con alto grado de importancia son las siguientes: MapaVisual, Ventana, Mapa, MenuPrincipal, y CambiarKeys. La clase MapaVisual, nos permite, dentro del programa, graficar o mostrar en pantalla las paredes, los fantasmas, las frutas, el pacman, y dems, su mtodo ms importante llegara a ser: public void pintarObjetos(Graphycs g) Este mtodo se encarga de pintar los objetos en la ventana.

La clase Ventana, en una clase critica en nuestro programa, y es la ms importante de todas, puesto que esta, se encarga de levantar el juego atreves de hilos, cuando el usuario realiza la peticin de Empezar; tambin se encarga de realizar el control de las teclas presionadas para poder acceder a las opciones de control de juego, reanudar, el ranking, la ayuda. Sus mtodos criticos e importantes son: Pgina 7

public void mostrarVentana(Mapa m) public void gamePacman() El primer mtodo se encarga de mostrar el MapaVisual. El segundo mtodo se encarga de ejecutar el programa, iniciando un hilo dentro de el. La clase Mapa, solamente es de referencia, aunque es muy importante al momento de dibujar los elementos de la matriz en la pantalla, puesto que se toma en cuenta la posicin donde se encuentran. La clase MenuPrincipal, se encarga de mostrar al usuario el men de inicio del juego, con las opciones de: INICIAR, REANUDAR, RANKING, AYUDA, y CAMBIO DE TECLAS.

Y la clase cambiarKeys, simplemente nos sirve para configurar los controles como desee el usuario. Su mtodo ms importante llega a ser, el del evento que contiene esta clase, puesto que dentro de este mtodo se llegan a realizar las llamadas a los diferentes mtodos de la misma y de otras clases, para poder realizar la operacin de cambio de teclas. public void actionPerformed(ActionEvent e) Se debe recordar que si se desea ralizar cambios al cdigo del programa, primeramente se lo estudie detenidamente, para poder observar donde realizar cambios que se desee. 11. CONLUSIONES: 11.1 FUNCIONALES: Este juego de Pacman se diseo con las las perspectivas de robustez y de fcil manipulacin. DE LA APLICACIN: Este juego esta creado con fines de entrenamiento y distraccin. El entorno grafico esta diseado por medio de la utilizacin de herramientas graficas, siendo estas aportadas por el lenguaje JAVA. DEL TRABAJO EN GRUPO: POSITIVAS: Todos entregaron un aporte en particular para el desarrollo del programa, obteniendo mayor creatividad en la solucin de los problemas. Se dispuso de mayor informacin acerca del lenguaje. Se logro una mayor integracin entre las personas para poder conocer las aptitudes de los integrantes. Pgina 8

11.2

11.3

Se experimento de forma ms positiva la sensacin de un trabajo bien hecho.

NEGATIVAS: Hubo desacuerdo al tomar una determinada solucin a un problema dado. Se consumi mucho tiempo en la discusin de soluciones y acciones, retrasando el desarrollo del programa. No hubo inters por parte de algunos componentes, siendo este un factor que afecto el desarrollo del programa, consumiendo tiempo valioso. Existi presin sobre miembros del equipo para aceptar la responsabilidad que con llevaba el desarrollo del programa. 12. BIBLIOGRAFIA:

12.1 LIBROS DE REFERENCIA: Luis Joyanes Aguilar "Java 2 - Manual de Programacin" Como programar en JAVA - Deitel 5ta edicion: http://depositfiles.com/files/l5rgqjldg

Tutoriales de cursos Swing dados en laboratorio Informatica-Sistemas

12.2 PAGINAS WEB DE REFERENCIA:

Uso y aplicacin de Hilos en Java: http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC99-1/Java_threads/ Colision Graficos en Java: http://javapragmatico.blogspot.com/2009/04/deteccion-de-colision.html

Pgina 9

Uso de La librera Swing: http://www.polinux.upv.es/drupal/files/charlaSwing.pdf

12.3 VIDEO TUTORIALES: Curso Aprendiendo a programar http://niktutos.wordpress.com/

en

java:

orientacin

Juegos:

ANEXOS: A. Manual de usuario.

Pgina 10

Вам также может понравиться