Bloque de Lección · Detalle

Tetris con Matrices y Rotaciones

Este bloque de construcción revela el modelado del campo de juego como una matriz, así como el procesamiento algorítmico del movimiento, la rotación y las colisiones. Didácticamente relevante es la conexión paso a paso entre estructura de datos, lógica de estado y implementación visual en un contexto de aplicación claramente trazable.

Tiempo 120 minutos
Formato Pygame
Idioma Python 3
Tareas 4
Imagen de Vista Previa: Tetris con Matrices y Rotaciones

Introducción (Extracto Original)

Tetris es un buen ejemplo para combinar una matriz como estructura de datos, rotación de formas y lógica simple de juego en pygame. Mueves piedras caídas en una cuadrícula, las colocas en el suelo y eliminas filas completas.

Clasificación Didáctica

Definición del Objetivo Subjetivo

En el centro de este módulo se modela un campo de juego como una lista bidimensional. Esto introduce un concepto central de información: representar una cuadrícula discreta mediante una estructura matricial. A partir de esto, las piedras se describen como matrices más pequeñas y su posición se gestiona mediante coordenadas. Los estudiantes vinculan modelos abstractos de datos a una representación visual concreta en el juego. La rotación de formas requiere un reordenamiento estructurado de los elementos matriciales y hace visibles transformaciones algorítmicas. La conexión entre modelo e implementación se manifiesta especialmente en que cada movimiento, colisión y eliminación de fila se deriva directamente de la estructura de datos elegida.

Desarrollo de competencias

Valor didáctico adicional en la lección

Flujo de la lección

1

Matriz del campo de juego y control por teclado

Al principio, el campo de juego se asegura como una matriz y se complementa con un control básico por teclado. La tarea combina la representación de la cuadrícula con reglas iniciales de movimiento e introduce la lógica sobre cuándo una piedra puede caer nuevamente o debe generarse nueva. Esto crea la base funcional para todos los mecanismos del juego posteriores.

  • Enfoque didáctico: modelo matricial y control basado en estados
  • Desafío típico: prueba consistente de condiciones de borde durante los movimientos
2

Tetrominos girando como matrices

En el segundo paso, se introducen y procesan diversas formas como pequeñas matrices. La rotación requiere un reordenamiento dirigido de los elementos matriciales y está vinculada con la misma prueba de colisión que el movimiento. Esto hace evidente que distintas acciones del juego dependen de reglas lógicas comunes.

  • Enfoque didáctico: transformación matricial y coherencia de reglas
  • Desafío típico: rotación válida sin exceder el campo de juego
3

Eliminar filas, puntos y velocidad

Posteriormente, la lógica del juego se extiende para reconocer y eliminar filas completas. A partir de esto, se introducen puntos, líneas y niveles como estados adicionales a partir de los cuales puede derivarse una velocidad de caída modificada. Este paso combina el procesamiento de datos con un desarrollo comprensible de reglas durante el juego.

  • Enfoque didáctico: evaluación de estados matriciales y lógica de progreso
  • Desafío típico: eliminación y adición correctas de filas en el campo de juego
4

Juego completo

La tarea final sirve para una consideración consolidadora de un juego de referencia completo. En primer plano no está la adición de nuevo código, sino el reconocimiento de mecanismos previamente desarrollados en una aplicación integral cohesionada. Esto refleja el desarrollo de competencias y las asegura profesionalmente.

  • Enfoque didáctico: integración y reflexión del contexto general
  • Desafío típico: asignar con seguridad componentes individuales en el sistema global

Asignación de trabajo (extracto)

  1. Modela el campo de juego como una matriz y añade un movimiento descendente controlable del bloque activo.
  2. Amplía el juego con diversos Tetrominos y rotaciones basadas en operaciones matriciales.
  3. Verifica movimientos y rotaciones mediante lógica de colisión uniforme.
  4. Implementa la eliminación de filas completas, puntos, líneas y aumento de velocidad.

Ejemplo (extracto)

El siguiente extracto es didácticamente relevante porque hace visible la rotación como reordenamiento dirigido de una matriz, destacando así un núcleo central del módulo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
def drehe_matrix_rechts(form):
    hoehe = len(form)
    breite = len(form[0])
    neue_form = []
    for x in range(breite):
        neue_zeile = []
        for y in range(hoehe - 1, -1, -1):
            neue_zeile.append(form[y][x])
        neue_form.append(neue_zeile)
    return neue_form

Sugerencias para práctica en clase

Este módulo combina el modelado matricial, la rotación y la lógica del juego en una implementación paso a paso y técnicamente comprensible.

La estructura clara de tareas apoya la organización en clase y facilita la verificación sistemática de resultados. Las tareas extendidas permiten una diferenciación adecuada en el desarrollo posterior.

Solicite acceso demostrativo y pruebe el módulo en su propio contexto curricular.