Logo Studenta

685687915-Tetris-with-Java

¡Estudia con miles de materiales!

Vista previa del material en texto

Jornada de Actualización Tecnológica 2011 
Facultad de Ingeniería Eléctrica 
Tetris en Java 
 
 
Christopher Cano 
Universidad Tecnológica de Panamá 
christopher.cano@hotmail.com 
 
Resumen- Este proyecto consiste en el desarrollo de un juego 
de tetris con una interfaz grafica agradable al usuario utilizando el 
lenguaje de programación en java. Además de intentar utilizar la 
maquina virtual de java para emularlo en múltiples sistemas 
operativos. 
 
Palabras claves- clase , herencia , Java , Programación, 
Tetris, 
 
1. Introducción 
 El tetris es un videojuego popular en el que se trata de 
completar filas utilizando diferentes figuras geométricas de 
diferentes formas siempre de lados cuadrados. Con esto se busca 
lograr completar tantas filas como sea posible para acumular 
puntos. Todo esto debe ser logrado sin que se acumulen tantos 
bloques que se salga de la pantalla destinada a las figuras. A 
medida que se hacen más puntos avanza la velocidad del juego. 
 Para crear esto utilizamos java que es un lenguaje dirigido a 
objetos . En esta plataforma se escribe la aplicación en un 
lenguaje universal entendido por la maquina virtual de java y así 
puede ser utilizado en una variedad de equipos ya que el 
programa interactúa con la maquina virtual y no con el sistema 
operativo del sistema. 
 
2. Objetivos 
Generales: 
 Crear una aplicación capaz de correr en múltiples sistemas 
operativos 
 Crear un juego de Tetris completamente funcional. 
 Demostrar las ventajas de este lenguaje frente a otros 
Específicos: 
 Mejorar las habilidades de programación y desarrollo de 
software 
 Aprender a utilizar Java como lenguaje de programación. 
 
3. Herramientas y Conceptos 
 Para interactuar con el lenguaje de java debemos disponer del 
programa NetBeans IDE. Su entorno se muestra en la figura1. 
NetBeans es un proyecto de código abierto que permite compilar, 
depurar y ejecutar programas. Está basado en java, pero se puede 
utilizar cualquier otro lenguaje de programación. 
 
César Valdés 
Universidad Tecnológica de Panamá 
 mello_1114@hotmail.com 
 
 
La estructura de un programa en java está basada en dos 
conceptos fundamentales. 
 Clase: es una agrupación de datos y de funciones que operan 
sobre esos mismos datos. A esta agrupación se le denomina 
variables y métodos. Así, un programa en java se construye de un 
conjunto de clases. 
 Herencia: La permite que se puedan definir nuevas clases 
basadas en clases existentes. Esto permite reutilizar el código 
previamente desarrollado. La clase derivada hereda todas las 
variables y métodos e incluso puede modificar o añadir nuevas 
variables de la clase de la cual se proviene. 
 
 
Figura 1. NetBeans. 
4. Procesos 
 Para llevar a cabo el desarrollo del código, él mismo se dividió 
en las siguientes clases: Clase Celda, Clase Bloque, Clase Mapa, 
Clase Escenario Grafico, Clase Score, Clase Ventana de detalles, 
Clase Ventana Pieza Siguiente, Clase GUI. 
 A continuación desarrollaremos de forma concreta y concisa la 
lógica utilizada en las clases más relevantes. 
 
4.1 Clase Celda 
 Esta clase tiene como objetivo crear el tablero sobre el cual se 
desarrolla el juego de tetris. El tablero se declara como una matriz 
de “celdas”. Cada una de estas celdas tiene lo que denominamos 
estados. El estado vacio hace referencia a una celda que no lleva 
imagen. El estado bloque muestra una imagen en las celdas. El 
mailto:christopher.cano@hotmail.com
mailto:mello_1114@hotmail.com
 
 
 
Jornada de Actualización Tecnológica 2011 
Facultad de Ingeniería Eléctrica 
estado ladrillo muestra una imagen en las celdas y la misma no 
puede moverse. 
 
4.2 Clase Bloque 
 La clase bloque crea las figuras o los tipos de bloque con los 
que se desarrolla el juego tetris. Aquí nos referimos a las figuras 
que tienen la forma del cuadrado, “L”, “T”, Z”. Las formas descritas 
se muestran en la figura 2. 
 Estos tipos de bloques se forman de una agrupación de cuatro 
celdas que tienen una posición dentro del tablero de juego y una 
imagen. Los tipos de bloque son seleccionados de manera al 
azar mediante un método o función específica llamado “random”, 
una función en java que devuelve un número aleatorio. 
 
Figura 2. Resultado de Clases Bloque y Celda. 
 
4.3 Clase Mapa 
 Mapa contiene las acciones que pueden suceder durante el 
desarrollo del juego. 
 Mover bloque y girar bloque: el bloque actual podrá siempre 
estar en movimiento al menos que la agrupación de celdas que 
forman el tipo de bloque pasen al estado ladrillo. Se consigue el 
estado ladrillo cuando el bloque llega a la última línea de celdas 
del tablero de juego y también cuando el bloque toque alguno 
previamente en ese estado. 
 Fin del juego: sucede cuando en la primera línea de celdas del 
tablero se encuentra al menos una celda en estado ladrillo. 
Fila completa: una línea o fila completa de celdas se encuentra en 
estado ladrillo. Esta fila de celdas se rompe lo que significa que 
vuelven al estado vacio. 
 Aumentar nivel: se cambia la dificultad del juego cuando se 
rompen veinte filas. La nueva dificultad presenta un nuevo tablero 
de juego con celdas específicas en estado ladrillo y aumento en la 
velocidad de caída de los bloques. 
 
4.4 Otras Clases 
 Clase Escenario Grafico: esta clase nos permite ubicar el 
conjunto de bloques dentro de la interfaz gráfica. 
 
Clase Score: consiste en un contador el cual suma un punto por 
cada fila que se rompe. El código de esta es bastante sencillo y se 
muestra en la figura 3. 
 
 
Figura 3. Código de la Clase Score. 
 
 Clase Ventana de Detalles: muestra los botones de los que 
dispone el usuario y además presenta etiquetas que indican el 
puntaje y el nivel actual. Las etiquetas y botones se muestran en 
la figura 4. 
 
 
Figura 4. Ventana de Detalles. 
 
 
 Clase Venta Pieza Siguiente: muestra el tipo de bloque que 
sigue, lo hace mediante el método de “random”. 
 
 
 
 
Jornada de Actualización Tecnológica 2011 
Facultad de Ingeniería Eléctrica 
 
Figura 5. Código de la Clase Ventana Pieza Siguiente. 
 
4.5 Clase GUI 
 Esta es la clase principal y es la encargada de hacer el llamado 
a todas otras las clases para que el programa se ejecuta de 
manera correcta. GUI ejecutara el programa de la siguiente 
manera: 
Paso1: Se crea un bloque mediante el método de random. 
Paso2: Verifica el movimiento del bloque dentro de los límites del 
tablero de juego. 
Paso3: Si el bloque no puede moverse, pasa al estado ladrillo y y 
el bloque siguiente aparece. 
Paso4: Verifica si existe alguna fila completa. 
Paso5: Si existe una fila completa se rompe y me suma un punto. 
Paso6: Verifica si hay suficientes puntos para el cambio de nivel. 
De suceder se crea el mapa con la nueva dificultad y aumento de 
velocidad. 
Paso7: Se crea el entorno del juego donde se muestra el tablero y 
todos los detalles de la ventana con la que el usuario puede 
interactuar. 
Paso8: Este paso se refiere a fin del juego, que sucede cuando 
alguna celda en la primera fila esta en el estado ladrillo. 
En la Figura 6 se muestra la ventana del juego tetris con todas sus 
figuras y detalles con las que interactúa el usuario. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Figura 6. Presentación final del juego tetris. 
 
5. Resultados 
Como resultado logramos crear un juego de tetris mediante el 
lenguaje de Java. 
En éste implementamos lógica de vectores y posicionamientos 
para lograr hacer funcionar el juego. Aparte de esto se obtuvo una 
aplicación capaz de correr en todos los sistemas operativos de 
Windows y de llamativos colores e interfaz fácil de utilizar al 
usuario. 
 
6. Conclusiones 
 Al realizar este proyecto logramos entender mas sobre la 
metodología que se utiliza para el diseño de software. Aquí 
utilizamos el lenguaje de java que esmuy versátil y fácil de 
aprender debido a que viene derivado de una compilación de 
lenguajes populares como C++ y C. 
 
Gracias a la utilización de este lenguaje fuimos capaces de 
crear una interfaz grafica agradable para los usuarios dado que 
pudimos utilizar objetos en este caso imágenes para desarrollar 
una aplicación llamativa. En este tipo de desarrollo de programas 
es importante que sea del agrado del usuario final. 
 
7. Referencias 
[1] Aprenda Java Escuela Superior de Ingenieros de Campus 
Tecnológico de Navarra. Primera Edición. 
[2] Publicación sobre códigos y lógicas de programación de en 
Java tetris por Peter Parmesant. 
[3] Netbeans IDE 7.0.1 JDK compilador de código

Continuar navegando