Está en la página 1de 3

Tetris en Java

Christopher Cano César Valdés


Universidad Tecnológica de Panamá Universidad Tecnológica de Panamá
mello_1114@hotmail.com
christopher.cano@hotmail.com

Resumen- Este proyecto consiste en el desarrollo de un juego La estructura de un programa en java está basada en dos
de tetris con una interfaz grafica agradable al usuario utilizando el conceptos fundamentales.
lenguaje de programación en java. Además de intentar utilizar la Clase: es una agrupación de datos y de funciones que operan
maquina virtual de java para emularlo en múltiples sistemas sobre esos mismos datos. A esta agrupación se le denomina
operativos. variables y métodos. Así, un programa en java se construye de un
conjunto de clases.
Palabras claves- clase , herencia , Java , Programación, Herencia: La permite que se puedan definir nuevas clases
Tetris, basadas en clases existentes. Esto permite reutilizar el código
previamente desarrollado. La clase derivada hereda todas las
1. Introducción variables y métodos e incluso puede modificar o añadir nuevas
El tetris es un videojuego popular en el que se trata de variables de la clase de la cual se proviene.
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 Figura 1. NetBeans.
 Crear un juego de Tetris completamente funcional. 4. Procesos
 Demostrar las ventajas de este lenguaje frente a otros Para llevar a cabo el desarrollo del código, él mismo se dividió
Específicos: en las siguientes clases: Clase Celda, Clase Bloque, Clase Mapa,
 Mejorar las habilidades de programación y desarrollo de Clase Escenario Grafico, Clase Score, Clase Ventana de detalles,
software Clase Ventana Pieza Siguiente, Clase GUI.
A continuación desarrollaremos de forma concreta y concisa la
 Aprender a utilizar Java como lenguaje de programación.
lógica utilizada en las clases más relevantes.

3. Herramientas y Conceptos 4.1 Clase Celda


Para interactuar con el lenguaje de java debemos disponer del Esta clase tiene como objetivo crear el tablero sobre el cual se
programa NetBeans IDE. Su entorno se muestra en la figura1. desarrolla el juego de tetris. El tablero se declara como una matriz
NetBeans es un proyecto de código abierto que permite compilar, de “celdas”. Cada una de estas celdas tiene lo que denominamos
depurar y ejecutar programas. Está basado en java, pero se puede estados. El estado vacio hace referencia a una celda que no lleva
utilizar cualquier otro lenguaje de programación. imagen. El estado bloque muestra una imagen en las celdas. El

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 de juego con celdas específicas en estado ladrillo y aumento en la
puede moverse. velocidad de caída de los bloques.

4.2 Clase Bloque 4.4 Otras Clases


La clase bloque crea las figuras o los tipos de bloque con los Clase Escenario Grafico: esta clase nos permite ubicar el
que se desarrolla el juego tetris. Aquí nos referimos a las figuras conjunto de bloques dentro de la interfaz gráfica.
que tienen la forma del cuadrado, “L”, “T”, Z”. Las formas descritas
se muestran en la figura 2. Clase Score: consiste en un contador el cual suma un punto por
Estos tipos de bloques se forman de una agrupación de cuatro cada fila que se rompe. El código de esta es bastante sencillo y se
celdas que tienen una posición dentro del tablero de juego y una muestra en la figura 3.
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 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 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. Figura 4. Ventana de Detalles.
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 Clase Venta Pieza Siguiente: muestra el tipo de bloque que
estado ladrillo. Esta fila de celdas se rompe lo que significa que sigue, lo hace mediante el método de “random”.
vuelven al estado vacio.
Aumentar nivel: se cambia la dificultad del juego cuando se
rompen veinte filas. La nueva dificultad presenta un nuevo tablero

Jornada de Actualización Tecnológica 2011


Facultad de Ingeniería Eléctrica
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.
Figura 5. Código de la Clase Ventana Pieza Siguiente.
6. Conclusiones
4.5 Clase GUI
Esta es la clase principal y es la encargada de hacer el llamado Al realizar este proyecto logramos entender mas sobre la
a todas otras las clases para que el programa se ejecuta de metodología que se utiliza para el diseño de software. Aquí
manera correcta. GUI ejecutara el programa de la siguiente utilizamos el lenguaje de java que es muy versátil y fácil de
manera: aprender debido a que viene derivado de una compilación de
Paso1: Se crea un bloque mediante el método de random. lenguajes populares como C++ y C.
Paso2: Verifica el movimiento del bloque dentro de los límites del
tablero de juego. Gracias a la utilización de este lenguaje fuimos capaces de
Paso3: Si el bloque no puede moverse, pasa al estado ladrillo y y crear una interfaz grafica agradable para los usuarios dado que
el bloque siguiente aparece. pudimos utilizar objetos en este caso imágenes para desarrollar
Paso4: Verifica si existe alguna fila completa. una aplicación llamativa. En este tipo de desarrollo de programas
Paso5: Si existe una fila completa se rompe y me suma un punto. es importante que sea del agrado del usuario final.
Paso6: Verifica si hay suficientes puntos para el cambio de nivel.
De suceder se crea el mapa con la nueva dificultad y aumento de 7. Referencias
velocidad. [1] Aprenda Java Escuela Superior de Ingenieros de Campus
Paso7: Se crea el entorno del juego donde se muestra el tablero y Tecnológico de Navarra. Primera Edición.
todos los detalles de la ventana con la que el usuario puede [2] Publicación sobre códigos y lógicas de programación de en
interactuar. Java tetris por Peter Parmesant.
Paso8: Este paso se refiere a fin del juego, que sucede cuando [3] Netbeans IDE 7.0.1 JDK compilador de código
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.

Jornada de Actualización Tecnológica 2011


Facultad de Ingeniería Eléctrica

También podría gustarte