Tetris

Tetris #

Por Julian Alberto Fernández Vera y David Santiago Sánchez Torres, estudiantes de Ciencias de la Computación.

Introducción #

El propósito de esta aplicación es crear un juego interactivo de figuras, donde el jugador debe organizar y hacer coincidir las figuras en una cuadrícula. Cada figura tiene propiedades únicas y debe ser colocada estratégicamente en la cuadrícula para acumular puntos. Este juego presenta un desafío creciente a medida que avanza, manteniendo la atención del jugador.

Resumen del Diseño #

La aplicación utiliza la biblioteca p5.js y Quadrille para crear una interfaz visual atractiva. El jugador tiene la tarea de organizar las figuras en una cuadrícula, ganando puntos por cada línea completa. Las figuras se generan aleatoriamente, y el juego proporciona una vista previa de la próxima figura. El jugador puede rotar y desplazar las figuras para encontrar la mejor posición.

Aspectos Técnicos #

  • Diseño de Figuras: Se implementan siete figuras distintas, cada una con colores específicos. La función figura selecciona aleatoriamente una figura y la muestra en el mostrador.
  • Movimientos: El jugador puede rotar las figuras con la tecla de flecha hacia arriba y desplazarlas a la izquierda o derecha con las teclas correspondientes.
  • Puntaje: Se lleva un puntaje que aumenta con cada línea completa. El juego proporciona retroalimentación visual y muestra el puntaje en tiempo real.
  • Interacción del Jugador: Las funciones keyPressed permiten al jugador realizar acciones como rotar, mover a la izquierda o derecha, y acelerar la caída de las figuras.

Principales Métodos del Código con Comentarios #

code
function setup() {
  // Configuración inicial, creación de cuadrícula y figuras
}

function draw() {
  // Dibujo de la interfaz del juego, incluyendo puntaje y vista previa de la próxima figura
  // Manejo de movimientos y actualización del estado del juego
}

function figura() {
  // Selección aleatoria de una figura y actualización del mostrador
}

function keyPressed() {
  // Manejo de eventos de teclado para rotar y mover las figuras
}

function linea() {
  // Verificación y eliminación de líneas completas en la cuadrícula, con aumento de puntaje
}

function perder() {
  // Verificación de la condición de pérdida del juego y visualización del puntaje final
}

Referencias de la API #

Conclusión #

El juego de figuras implementado en este proyecto ofrece una experiencia entretenida y desafiante para los jugadores. El diseño modular del código y la implementación técnica permiten una fácil expansión del juego con nuevas funcionalidades. Este documento ha proporcionado una visión general del propósito, diseño y aspectos técnicos clave de la aplicación de juego de figuras.

Referencias #