Tutorial - Como hacer un Tetris
Este documento expone una guÃa de implementación de un juego tipo Tetris. Para su implementación se ha utilizado el lenguaje C++ y si bien se hace un uso de un motor de juegos especÃfico, fácilmente se podrÃa convertir el ejemplo para hacer uso de cualquier otra librerÃa.
El diagrama de clases

Game: Clase padre de la clase principal de juego. Perteneciente al motor de juego empleado (todo juego basado en este motor debe poseer una clase que definida a partir de Game).
TestGame: Clase principal del juego, encargada de inicializar el tablero y las piezas que en él intervienen.
BoardMap: Clase que representa el tablero donde se desarrolla el juego. Principalmente encapsula un array de dos dimensiones de tamaño especificado por parámetros constantes.
Piece: Representa una pieza.
GameLogic: Encapsula las reglas del juego.
Las piezas del juego
Todas las piezas se definen mediante mediante un array. Este array - del tipo unsigned char - posee en su primer posición el tamaño de lado de la pieza ¿Qué significa esto? Veamos las distintas piezas que posee el juego:
![]()
Pieza cuadrada, posee dos casilleros de lado. Por lo tanto el array que la define poseerá la siguiente información:
{2, 1, 1, 1, 1}
El primer 2 indica que la pieza posee dos casilleros de lado. Los siguientes unos codifican la forma de la pieza. Estos cuatro unos serán interpretados como una matriz de 2×2 por parte del juego.

Esta pieza posee tres casilleros de lado. Todas las piezas serán creadas dentro de una matriz cuadrada debido al modo en el cual se encuentra implementada la rotación de las fichas. El modo en el cual será definido el array para esta pieza será el siguiente:
{3, 0, 0, 0, 0, 1, 0, 1, 1, 1}
La información siguiente al tamaño de lado de la pieza, codifica su forma del siguiente modo:

Luego, el resto de las piezas se definen de modo análogo:





Justo lo que necesitaba. Hace poco que estoy con la programacion de juegos.
Muy interesante el tutorial.
Saludos
espero que haya mas tutoriales de este tipo (con el motor de zakengine, claro) para que nos ayuden a nosotros, los que estamos en los primeros pasos en el desarrollo de juegos y a veces caemos en un pozo imposible de salir.
Yo debo el tetris todavÃa porque no sé por donde empezar, esto puede ser el hilo que buscaba
[…] A traves de fuzzyGameDev encontramos una guÃa de implementación de tetris basada en el lenguaje C++,y aunque se utilize una librerÃa grafica especifica se puede entender el concepto facilmente. Enlace al articulo […]
[…] GuÃÂa de implementación para Tetris A traves de fuzzyGameDev encontramos una guÃÂa de implementación de tetris basada en el lenguaje C++,y aunque se utilize una librerÃÂa grafica especifica se puede entender el concepto facilmente. Enlace al articulo […]
Muy bueno el tutorial de tetris, recien empiezo con la programacion de juegos en c++, antes me dedicaba al querido div games estudio.