Proyecto Final Haunting House Milton Riofrio Johan Zeas PDF

Title Proyecto Final Haunting House Milton Riofrio Johan Zeas
Author Merino Romero Alejandro Antonio
Course derecho laboral
Institution Universidad Tecnológica Latinoamericana Ecuador
Pages 3
File Size 281.4 KB
File Type PDF
Total Downloads 90
Total Views 143

Summary

Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)Señales de Reloj (CLOCK)...


Description

PROYECTO FINAL JUEGO HAUNTING HOUSE PROGRAMACIÓN ORIENTADA A OBJETOS Milton Riofrio, Johan Zeas Universidad Nacional de Loja, Carrera de Computación [email protected] [email protected]

INTRODUCCIÓN

En el paquete Modelo se crearon las siguientes clases:

El presente proyecto está enfocado en el área del entretenimiento, con el afán de incentivar el compañerismo y el trabajo en equipo ya que el juego está pensado para dar una experiencia placentera, gratificante entre dos personas para que así juntos lleguen a la mayor puntuación posible.

METODOLOGÍA Para la realización del programa nos apoyamos con la librería Gdx, sin embargo, esta no estaba implementada en Java por lo cual tuvimos que instalarla desde un archivo “jar” que fue descargado de una pagina web creando así un proyecto basado en lib Gdx. Una vez creada la carpeta en la que irán almacenadas todas las funciones de la librería se procedió a abrirla en el IDE Netbeans como un archivo tipo Gradel. La siguiente estaba segmentada en dos diferentes secciones como: core que sirve para implementar la lógica necesaria de nuestro programa, y launcher que es la que permite compilar el programa.



Player1 y Player2: Estas clases son las encargadas de enviar las posiciones de los personajes, al igual que permiten el flujo de frames para cada animación, también tienen los métodos que permiten dibujar los distintos frames de la animación.



Fantasma: Los métodos que utilizar son similares a los Player1 y Player2, con la diferencia de que los movimientos de este ítem están preprogramados para que persigan a los jugadores.



Imagen: Esta clase permite transformar la textura de una imagen a sprite y así poder realizar algunas funciones en ellas, como es la de cambiar su transparencia para que exista una transición cómoda de una pantalla a otra.

Finalmente, en el paquete Controlador se encuentran las siguientes clases:

Dentro de la carpeta core se gestionó las clases por medio del método modelo vista controlador:



Controles: Administra las entradas por teclado con funciones como: cuando se presiona una tecla o dan click el mouse genera true, caso contrario false, también muestra la posición de donde se encuentra el mouse.



PersonajeJugable: Aquí se cargan las distintas características de los personajes, tales como: gestionar el alcance del salto, su rapidez y gravedad, también calcula la dirección y la velocidad a la que se van a mover.



Rutas: Se cargan las direcciones en las que se encuentran cada una de las animaciones, letras y música del juego, para que así sean usadas en las demás clases.

En el paquete Vista se encuentran las siguientes clases: •

MainHH: En esta clase se genera todo el sentido lógico del programa, se dibujan todos los fps (frames por segundo) del juego, así como se borran los frames que ya no se usen, también actualiza las posiciones en X e Y de los personajes de acuerdo a las entradas por teclado de los jugadores. Genera las colisiones de los objetos presentes en el juego, para que ocurra una acción si estos se cruzan, también es la encargada de abrir la ventana de menú, pausar, guardar el progreso y cargarlos a través de pantalla de carga del mismo.



Lenguaje de programación usado Java. Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde

PantallaCarga: Es la primera pantalla que se puede visualizar al abrir el juego, tiene la función de iniciar un nuevo juego, pero antes se tienen que ingresar los nombres de los dos jugadores, también permite continuar con una partida previamente guardada y de finalizar la ejecución de dicho programa. 1

DOI: 10.13140/RG.2.1.2897.3206

consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta Internet. (Oracle, s.f.)

Clases

Paquete

PROGRAMACIÓN ORIENTADA A OBJETOS (POO) DENTRO DEL PROGRAMA

Player1 y Player2

Modelo

A continuación, se va a detallar el uso de los distintos fundamentos de la POO a lo largo del desarrollo de nuestro proyecto, los cuales son: MainHH

ENCAPSULAMIENTO. Implementamos este fundamento con el uso de Getters y Setters en las clases que se encuentran en la siguiente tabla: Clases

Paquete Modelo

PersonajeJugable

Controlador

CREATE O SHOW. Este método permite crear o mostrar instancias al inicio de la ejecución. RENDER. Realiza los procesos impuestos en el código durante el tiempo en que se ejecuta el programa.

Solo se utilizó un get y un set para que la clase principal conozca si el personaje está cayendo o no.

DISPOSE. Elimina los frames que ya no se van a utilizar al momento en el que se cambia de pantalla o se cierra el programa. Resumen ⎯ El juego que desarrollamos, está enfocado en el género de plataformas y disparos para un máximo de dos jugadores, que deberán enfrentarse y sobrevivir a oleadas de enemigos (fantasmas) en una habitación para llegar a la mayor puntuación posible, el juego termina si los dos personajes mueren. Todo esto usando la programación orientada a objetos y Lib Gdx, la cual nos da bases para el desarrollo de juegos.

POLIMORFISMO. Las clases a las que se les implemento una interfaz son: Clases

Paquete

PantallaCarga

Vista

Controles

Controlador

Interfaz y Descripción Implementa la interfaz “Screen” y es propia de Lib Gdx, su función es sobrescribir los métodos propios de una ventana, tales como: show (que hace la misma función que el metodo create de la clase “Game”), render y dispose. Implementa la interfaz “InputProcessor” también es propia de Lib Gdx, su función es sobrescribir los métodos que permiten gestionar la entrada por teclado y mouse en el programa.

A lo largo de la creación del juego, se fue implementando las distintas funciones que nos proporcionó lib Gdx, y gracias a ellas se pudo implementar diferentes comportamientos en la ejecución de nuestro programa (dibujar en pantalla, actualizar las posiciones de las texturas, borrar elementos cuando salen de pantalla, etc.). Palabras Claves ⎯ Lib Gdx, java, POO, creación de juego.

CONCLUSIONES •

La experiencia multijugador que puede brindar un videojuego ayuda a fomentar el compañerismo lo cual a nuestro parecer el presente programa logró cumplir nuestras expectativas, ya que el trabajo en equipo es fundamental para llegar a una máxima puntuación posible y así cumplir con el objetivo de Haunting House.



Es importante cubrir el área del entretenimiento, ya que este en muchas ocasiones ayuda contra el estrés y

HERENCIA. Las clases a las que se les heredó métodos o atributos son:

2 DOI: 10.13140/RG.2.1.2897.3206

Hereda de la clase “Game” que es propia de Lib Gdx, y su función es sobrescribir lo s métodos create, render y dispose.

Los métodos create o show, render y dispose nos permiten realizar funciones durante la ejecución del programa, su uso es el siguiente:

Descripción Se usó los setters y getters para poder trabajar con las distintas animaciones de los personajes en la clase MainHH.

Player1 y Player2

Vista

Herencia y Descripción Heredan de la clase “PersonajeJugable”y su función es sobrescribir los métodos de las coordenadas X e Y de cada personaje.

el aburrimiento, sin embargo, no está demás siempre aprender algo positivo, incluso en los videojuegos.

RECOMENDACIONES •

Hoy en día existen cientos de librerías que nos ofrecen funciones preprogramadas para distintas tareas, por lo cual apoyarse de ellas y de su API es muy importante para el desarrollo de una aplicación.



Debido a la extensión de estos programas se recomienda ser sumamente ordenado ya que al equivocarse en alguna función de una variable podría costarnos una gran pérdida de tiempo.



Hacer una planeación previa y muy detallada, para así no perder el enfoque e interés por el cual se desarrollará el programa.

BIBLIOGRAFÍA

Pantalla del Juego

Oracle. (s.f.). ¿Qué es la tecnología Java y para qué la necesito? Obtenido de Java.com: https://www.java.com/es/download/faq/whatis_j ava.xml badlogicgames. (s.f.). libgdx API. Obtenido de libgdx.badlogicgames.com: https://libgdx.badlogicgames.com/ci/nightlies/d ocs/api/

ANEXOS

Pantalla de Menú

Pantalla de Inicio

3 DOI: 10.13140/RG.2.1.2897.3206...


Similar Free PDFs