Módulo · Detalle

Frogger: Los coches generados por datos

Este módulo introduce estructuras de juego basadas en datos, donde varios enemigos se generan automáticamente a partir de una lista de datos. Esto muestra cómo la modelización e implementación trabajan juntas para generar sistemáticamente objetos del juego que se repiten.

Tiempo 35 minutos
Los conceptos centrales son estructuras de lista, tuplas, bucles y convenciones de nomenclatura consistentes. Esto hace claro cómo una descripción abstracta del modelo – aquí la estructura de datos para carriles – puede convertirse directamente en generación automática de objetos. frameCraft
Idioma Python 3
Tareas 1
Imagen previa: Frogger: Los coches generados por datos

Introducción (extracto original)

Ya no construyes enemigos de coche copiando y pegando, sino basado en datos: una lista describe las trayectorias (posición Y, velocidad, color) y con enumerate y un esquema de nombres claro, se generan automáticamente muchos objetos.

Clasificación didáctica

Objetivo subjetivo

Este módulo introduce el principio del programación basada en datos. En lugar de crear manualmente objetos individuales, los objetos del juego se generan a partir de datos estructurados. Los conceptos centrales son estructuras de lista, tuplas, bucles y convenciones de nomenclatura consistentes. Esto hace claro cómo una descripción abstracta del modelo - aquí la estructura de datos para carriles - puede convertirse directamente en generación automática de objetos. Además, se discute la adaptación de lógica existente de movimiento, para que las reglas puedan procesar sistemáticamente múltiples objetos según un esquema de nombres. Este módulo ilustra así la conexión entre modelo de datos, estructura algorítmica y implementación escalable.

Desarrollo de competencias

Valor didáctico adicional en la enseñanza

Flujo de la unidad leccionaria

1

Lista de reproducción + Generación automática + Regla de movimiento

En este paso, se construye un modelo basado en datos para vehículos enemigos. Primero, se define una lista de datos de carril y luego se implementa una función para generar automáticamente múltiples coches. Finalmente, se ajusta la regla de movimiento para que todos los vehículos puedan procesarse iterativamente según un esquema de nomenclatura sistemático.

  • Modelado de datos y generación automática de objetos
  • Desafío típico: esquemas de nombrado consistentes y estructura de bucles correcta

Asignación de trabajo (extracto)

1. Establecer una constante para el número de coches por carril. 2. Definir una lista de datos para los carriles con posición Y, velocidad y color. 3. Implementar una función para generar automáticamente coches por carril. 4. Llamar a esta función en la configuración de escena utilizando enumerate para cada carril. 5. Ajustar la regla de movimiento para que todos los coches puedan moverse iterativamente según el esquema de nombrado.

Ejemplo (extracto)

El siguiente fragmento muestra cómo se forma un esquema de nombrado consistente para vehículos generados automáticamente.

1
2
3
4
5
6
7
car_spacing = window_width // NUM_AUTOS
for index in range(NUM_AUTOS):
    car_name = "auto_" + str(lane_index) + "_" + str(index)
    start_x = (index * car_spacing + lane_index * 28 + 20) % window_width
    OBJEKT(car_name, pos=(start_x, lane_y), tag="auto")
    RECHTECK(car_name, AUTO_WIDTH, AUTO_HEIGHT, ausloser=True)
    GESCHWINDIGKEIT(car_name, vel_x, 0)

El ejemplo ilustra cómo múltiples objetos del juego se generan sistemáticamente a partir de una estructura de datos.

Notas para la práctica en clase

Este módulo muestra cómo los modelos de datos estructurados pueden traducirse sistemáticamente en objetos automatizados del juego y así permitir mecánicas de juego más complejas.

La secuencia claramente estructurada de tareas apoya una organización transparente de la lección y facilita la consolidación de los resultados alcanzados. La diferenciación puede realizarse mediante entradas adicionales de datos o extensiones de la lógica de movimiento.

Solicite acceso demo y pruebe el módulo en su propio contexto de curso.