GameEngine
Motor principal del juego Tetris que maneja toda la lógica y el estado del juego.
Esta clase gestiona las interacciones del usuario, el movimiento de piezas, detección de colisiones, aumento de nivel y dificultad, mantenimiento del historial de movimientos, y todas las reglas del juego.
Value parameters
- boardSize
-
Tamaño del tablero de juego (ancho y alto)
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
Members list
Value members
Concrete methods
Verifica si el juego está en ejecución o pausado.
Verifica si el juego está en ejecución o pausado.
Attributes
- Returns
-
true si el juego está pausado, false si está en ejecución
Verifica si el tablero está en condición de juego activo.
Verifica si el tablero está en condición de juego activo.
Attributes
- Returns
-
true si el juego no ha terminado, false si es game over
Continúa el juego después de una pausa, actualizando el tiempo total pausado.
Continúa el juego después de una pausa, actualizando el tiempo total pausado.
Solo permite continuar si el tablero todavía está en juego.
Attributes
Obtener la pieza guardada con la función "hold".
Obtener la pieza guardada con la función "hold".
Attributes
- Returns
-
La pieza guardada, o None si no hay ninguna
Obtiene el nivel actual del juego.
Obtiene el nivel actual del juego.
Attributes
- Returns
-
El nivel actual (0-29)
Calcula el factor de velocidad basado en el nivel actual.
Calcula el factor de velocidad basado en el nivel actual.
Este factor determina qué tan rápido caen las piezas, siguiendo una curva de dificultad inspirada en la versión NES de Tetris pero adaptada:
- Niveles 0-9: La velocidad aumenta linealmente
- Niveles 10-19: La velocidad aumenta más lentamente
- Niveles 20-28: Pequeños ajustes de velocidad
- Nivel 29: "Kill screen" con caída instantánea
Attributes
- Returns
-
Valor que representa la velocidad (valores más bajos = mayor velocidad)
Verifica si el juego está en ejecución activa.
Verifica si el juego está en ejecución activa.
Attributes
- Returns
-
true si el juego está corriendo y el tablero es válido
Intenta mover la pieza activa hacia abajo. Si no puede moverse (colisión), fija la pieza, elimina filas completas, actualiza puntuación y genera una nueva pieza.
Intenta mover la pieza activa hacia abajo. Si no puede moverse (colisión), fija la pieza, elimina filas completas, actualiza puntuación y genera una nueva pieza.
Este método es el núcleo del ciclo de juego, gestionando:
- Movimiento hacia abajo
- Fijación de piezas al llegar al fondo
- Eliminación de filas completas
- Actualización de nivel basado en filas eliminadas
- Comprobación de fin de juego
Attributes
Mueve la pieza activa a la izquierda si es posible.
Mueve la pieza activa a la izquierda si es posible.
Reproduce un efecto de sonido al mover lateralmente.
Attributes
Mueve la pieza activa a la derecha si es posible.
Mueve la pieza activa a la derecha si es posible.
Reproduce un efecto de sonido al mover lateralmente.
Attributes
Devuelve la próxima pieza que aparecerá en el juego.
Devuelve la próxima pieza que aparecerá en el juego.
Attributes
- Returns
-
La pieza que se mostrará en la vista previa
Pausa el juego y registra el tiempo de inicio de la pausa.
Pausa el juego y registra el tiempo de inicio de la pausa.
Detiene la acción del juego y la música, permitiendo acceder a funciones como el historial.
Attributes
Obtiene la lista de todos los puntos ocupados en el tablero.
Obtiene la lista de todos los puntos ocupados en el tablero.
Attributes
- Returns
-
Lista de puntos ocupados por todas las piezas
Reinicia el tablero y limpia el historial.
Reinicia el tablero y limpia el historial.
Reinicia todos los aspectos del juego a sus valores iniciales:
- Nuevo tablero vacío
- Estadísticas a cero
- Nivel a cero
- Elimina pieza guardada
- Limpia historial
Attributes
Obtiene las estadísticas actuales del juego, ajustando el tiempo de pausa.
Obtiene las estadísticas actuales del juego, ajustando el tiempo de pausa.
Attributes
- Returns
-
Estadísticas actualizadas con tiempo de pausa aplicado