ELO-329: Proyecto de diseño y programación orientados objeto

 

 

 

 

 

Juego Educativo

 

 

 

Fabrizio Cabaleiro

rol : 2603013-7

Francisco Soto D.

rol: 2323021-6

Profesor Agustín J. González V.

 

 

Índice

 

Introducción. 3

I.       Diseño de la Casa Embrujada.

1.      Esquema de la solución.

2.      Funcionamiento general

II.      DiagramaUML Casa Embrujada.



Introducción

 

                El proyecto final consiste en crear un juego ludico para niños entre 8 a 12 años, el cual consistirá en una casa embrujada, donde el jugador deberá salir de la casa antes de que un fantasma lo atrape. El personaje solamente puede moverse entre piezas que se encuentren prendidas mientras el fantasme se movera en direcicon al jugadr casa diez segundos. El jugador, para realizar cada moviemiento, debera realizar una operación matematica dada por el juego, el cual podra ser suma, resta, multiplicacion, division, o modulo.

                El fantasma, gracias a un timer, se movera automaticamente cada diez segundos, observando previamente si se encuentra mas alejado en su eje x o eje y con respecto al jugador, reduciendo la distancia más grande entre estos dos ejes.

               

       I.            Diseño de la Casa Embrujada

 

Para crear la casa embrujada, se creo una matriz de botones, la cual se le agrego una imagen al boton, la cual representa al fantasma, jugador, puerta de salida, pieza con luz prendida o apagada, según sea el caso. El fantasma y encendido/apagado de las luces estan controlados a base de timer, además, las luces se apagaran con una probabilidad de 7% y se encenderán con una probabilidad de 21%. Por ultimo, se agrego musica de fondo, la cual es un midi extraida del juego 'Zelda'.

1.     Esquema de la solución

 

El jugador, para comenzar a jugar, debrera crear una cuenta con su nombre, e ingresar el nivel de dificultad del juego, con esto los numeros que le seran entregados para realizar las operaciones variara entre 1, 2, 3 ó 4 cifras. A continuación se muestran tres casos de uso del juego.

 AGREGAR LOS COSAS DE USO!!!!!

2.     Funcionamiento general

 

El ejecutar el juego, se creara una matriz de botones, seteando al jugador en la esquina superior izquierda de la casa y al fantasma en la esquina inferior izquierda, con esto los timer del fantasma y de las luces se ejecutarán, junto con esto ultimo se comenará a escuchar la musica del juego. A medida que el jugador haga click en una pieza contigua a su personaje y esta se pieza se encuentre encendida, aparecerá una pantalla la cual tendra una operación matematica que el jugador debe responer para poder seguir avanzando.

La cancion del juego si termina, comenzará nuevamente, ya que se encuentra en un loop, repitiendose 5 veces. Si el jugador logra llegar a la puerta de salida, reaparecera nuevamente en la parte superior izquierda y el fantasma en la parte inferior izquierda de la casa, se agrega dificultad incrementando el nivel en uno y las piezas quedarán como estaban, agregandole aun más difucultad, ya que algunas se encontrarán apagadas.



   II.            Diagrama UML de la Casa embrujada

 

A continuación se muestra el diagramas, este debe leerse de la siguiente forma: Gamecrea el frame y llama a la clase HouseMap, la cual creara el gridlayout que contendra la matriz de botones, los cuales son creados con dos 'for' anidados, según sea el boton creado, se le agregara la imagen que le correponda y su respectiva accion, la cual consistira en preguntar si el jugadr ha hecho un click a un boton contiguo al personaje y si la luz se encuentra encendida o apagada. Luego de esto, se llama a la clase fantasma y jugador, seteando sus posciciones iniciales y creando el timer para el fantasma y las luces.



 



Conclusión

 

Este proyecto nos ha permitido obtener mas experiencia en como abordar la programacion en java, que clases crear, como se comunicaran, donde se crearan timer y que debe suceder con ciertos eventos. Ademas de esto, pudimos ver ciertas capacidades que no se habian visto en las tareas del ramo: abrir archivos de musica, personalizar botones, cargar imagenes a botones, etc. Además de esto, pudimos observar ventajas del desarrollo iterativo incremental, en el cual a medida que avanza el proyecto, el programador se encuentra con ciertas dificultades y nuevos desafios.

El proyecto presenta un par de bug, al igual que una tarea realizada en el ramo, no se pudo resolver. Al realizar la preguna matemática, el usuario si preciona cancelar, la ventana se cerrará y podrá moverse una casilla, ademas de esto, si se ingresa una palabra, arrojará una excepción y podra moverse libremente. No obstante no podrá salir de la casa si lo realizá al llegar a la puerta.