lunes, 8 de diciembre de 2014

Tetris

¡Hola!

Hoy traigo algo bastante completo para ser la segunda vez que hago algo relacionado con juegos a pesar de la poca experiencia que tengo todavía en este mundillo.

Un Tetris desarrollado en Java.


Cómo surgió:


La pregunta más típica en este punto (para los entendidos) sería:

¿Por qué en Java y no en un lenguaje más adaptado a la industria como C++?

La respuesta es básicamente porque Java es el lenguaje que mejor domino actualmente. Aún así, para algo tan "sencillo" como esto, Java tampoco está mal.

Ha sido un proyecto muy orientado a aprender y a ver el funcionamiento de un juego en cada una de sus fases; además de realizar un proyecto de principio a fin con sus debidas mejoras y correcciones, lo cuál, es algo bastante importante a la hora de presentar algo en la industria.

Todo el mundo conoce el funcionamiento del Tetris y cómo se juega; un clásico donde los haya.

La elección del Tetris vino bastante condicionada de uno de los años en los que estaba en la carrera de Ingeniería Informática en la UNED. En la cuál, nos propusieron el primer año de carrera hacer un Tetris en Java, cuando la mayoría de los presentes no había programado de antes y era su primer año. Por lo que para mí en ese momento, fue una tarea imposible de realizar, dejándome la espina clavada por no haber sido capaz de realizarlo. De ahí a unos años después, ya estudiando el módulo de Desarrollo de Aplicaciones Multiplataforma en el segundo año, como proyecto, decidí retomar la idea del Tetris. Todo un éxito; pude realizar algo que realmente quería y afianzar conocimientos del curso y aprender muchos nuevos.

La versión que presenté en ese momento fue la 1.0; la cual era una versión estable, pero que aún le faltaban unos cuantos retoques y mejoras para poder sentirme satisfecho con el juego. A pesar de no estar completo, pude sacar el 10 en el proyecto, lo cuál fue bastante alentador y motivador.

La versión que os presento, es la 2.0:

Tetris v2.0


 

Realización:


Es un juego sencillo en que podía aplicar todo lo aprendido en programación sin estar muy ligado a factores que se me escapaban de mis manos; como puede ser el diseño, la música, los niveles, etc. Lo cual, fue de bastante ayuda a la hora de crearlo y avanzar.

Dado que ni era, ni soy un experto en el tema, el Tetris simplemente es el modo maratón; en el cual simplemente realizas líneas sin parar hasta que no puedas continuar más. Los controles son los básicos sin ninguna novedad fuera de la idea original.

A pesar de mis escasos recursos, fui capaz de solventar los problemas a la hora de diseñar, no obstante el diseño es muy pobre. Pero la finalidad no era esa, era aprender.


Funciona con una matriz de 0's y 1's, donde el 0 significa una casilla vacía y el 1 una casilla ocupada. Cuando se genera una pieza, ésta tiene una posición fija que será por la cual la pieza vaya rotando y moviéndose. Según el tipo de pieza que sea y el estado rotatorio de la misma, el resto de 1's que hay en la pieza se colocarán en base a esas 2 variables.

Cada vez que se mueva o rote nuestra pieza, habrá que hacer una comparación entre la matriz de la pieza y la matriz global donde se va almacenando toda la "basura" del juego. Si mientras baja la pieza choca con algún 1 de la matriz global, entonces la pieza se depositará en la matriz global; se pintarán 1's en donde en la matriz global había 0's, y finalmente se generará una nueva pieza.

Cuando en la matriz global hay una línea de 1's, significa que hay línea, y que habrá que pasar todos esos 1's a 0's. Una vez se hace eso, todo lo que está por encima de esa línea, baja una fila en la matriz. Después de eso, se suma la puntuación obtenida y las líneas que haya hecho en ese instante.


Cómo jugar:


Para jugar es necesario tener instalado previamente Java. Es importante que descarguéis la versión acorde a vuestro sistema (32 bits/64 bits).

https://www.java.com/es/download/windows_xpi.jsp?locale=es

Y aquí el link al .jar (el ejecutable) del Tetris.

https://www.dropbox.com/s/3eb84p0shr3x1q8/Tetris.jar?dl=0


Aclaración:


Cuando hagáis el primer score del juego, se os generará un fichero "score" en el lugar donde se encuentre el ejecutable del Tetris, que es donde se guardarán las puntuaciones. Esto ocurre porque al no haber una carpeta donde se hayan instalado las cosas, el fichero se genera en el mismo sitio donde se ejecuta. Si es muy molesto, podéis guardar el ejecutable en una carpeta donde no moleste y crear un acceso directo; de esa manera el fichero se creará en la carpeta y no donde esté el acceso directo.


Estáis invitados a probarlo y a jugar cuando queráis. Si os surgiera algún fallo o algo que queráis comentar, podéis usar los comentarios ;).

Eso es todo, espero que sea de vuestro agrado.

Gracias.

sábado, 6 de diciembre de 2014

El comienzo

Bienvenidos a mi portafolio. Espero que sea de vuestro agrado.

Atentamente, Ángel.