Módulo · Detalle

Invasores Espaciales: Defensa contra la Formación

Este módulo lleva desde un pequeño juego modular caminable hasta un proyecto estructurado de Invasores Espaciales. El enfoque está en construir paso a paso el control, los datos del enemigo, lógica de impacto, puntuación, sistema de vidas, estructura de olas y reinicio.

Tiempo 90 minutos
Tecnología frameCraft
Prueba en línea Demo
Imagen previa: Invasores Espaciales: Defensa contra la Formación

Construcción desde Cero con Codificación de IA

Desarrollo estructurado del código a partir de una base mínima

Este módulo utiliza la codificación con IA como soporte contextual para el desarrollo posterior de un estado existente del proyecto. El punto de partida no es un juego terminado, sino un módulo mínimo y caminable con nave espacial, marcación de formaciones, visualización de estado y entradas preparadas previamente.

Las tareas conducen paso a paso desde mejoras visuales hasta valores de control y escena, lógica de disparo, formaciones enemigas, colisiones, puntos, vidas, olas y reinicio. Esto hace que el proceso de programación sea visible como una secuencia comprensible de pequeños cambios que pueden ser probados y categorizados profesionalmente.

Esta estructura apoya un trabajo transparente con cambios generados por IA en el contexto educativo: prompts, ajustes de código y versiones permanecen vinculados a objetivos subyacentes concretos. El foco está en el desarrollo comprensible del código, extensiones dirigidas y resultados intermedios directamente verificables.

Clasificación didáctica

El módulo se integra compactamente en el contenido y la práctica docente.

Establecimiento de objetivos subjetivos

En su centro se encuentra la construcción de un juego 2D simple a partir de componentes de código claramente separados: escena, figuras, entradas, reglas y estados. El logro profesional consiste en no asumir mecánicas de juego como producto completo, sino modelar y implementarlas paso a paso mediante estructuras de datos, valores de estado y reglas recurrentes.

Desarrollo de competencias

  • Estructuración: El código del proyecto se divide en construcción, funciones auxiliares, valores de escena y reglas del juego.
  • Modelado: Enemigos, disparos, puntos, vidas y oleadas se representan como datos y estados.
  • Pensamiento algorítmico: Movimiento, comprobación de límites, colisiones y cambios de estado se implementan como procesos basados en reglas.
  • Depuración e iteración: Cada extensión permanece lo suficientemente pequeña para ser verificada inmediatamente y corregida con precisión.

Valor añadido del docente

  • El módulo ofrece una progresión clara desde la orientación visual hasta estados completos de juego.
  • Descomponer en pasos de trabajo más pequeños facilita la aseguración de resultados e interacción reflexiva intermedia.
  • Extensiones como velocidad, oleadas o reinicio permiten diferenciar dentro del mismo contexto proyectual.

Flujo de la unidad de lección

Las tareas se presentan en el orden del JSON y están condensadas desde el punto de vista del contenido.

1

Hacer el campo de juego más legible

La escena inicial se complementa con una línea de defensa visible en el borde inferior del campo de juego. Esto proporciona al jugador una orientación espacial clara sin cambiar ninguna regla del juego aún.

2

Mejorar la nave como figura del jugador

La figura existente del defensor se hace visualmente más distintiva. El cambio permanece limitado a la representación, por lo que separa conscientemente el diseño de la lógica y el control del juego.

3

Preparar movimiento izquierda-derecha

Las entradas preparadas se conectan por primera vez con un movimiento horizontal real. Además, la posición está limitada para que la nave permanezca dentro de la ventana.

4

Velocidad del movimiento como valor de escena

El número fijo de movimiento se reemplaza por un valor de escena. Esto hace visible cómo los parámetros del juego pueden liberarse de la lógica y ajustarse más fácilmente en el futuro.

5

Convertir la regla de construcción en regla de juego

El estado anterior se limpia para que ya no sobrescriba permanentemente los mensajes. El movimiento existente permanece y la regla se estabiliza como un punto de partida para lógica adicional del juego.

6

Preparar figura de disparo

Se coloca una sola figura de disparo y se posiciona inicialmente fuera de la ventana visible. Esto crea la estructura para disparos posteriores sin necesidad de construir aún lógica de activación o movimiento.

7

Inicio del disparo sin activar

Un marcador indica si ya se ha presionado el botón de disparo. Esto prepara para que una pulsación de tecla solo active una acción única más adelante y no sea procesada nuevamente en cada fotograma.

8

Disparar

El disparo preparado comienza con una nueva acción de disparo reconocida en la posición de la nave espacial. Continúa utilizando solo una figura de disparo, manteniendo así los recursos y el estado claramente controlados.

9

Mover disparo hacia arriba

Un disparo activo se mueve hacia arriba y se reinicia cuando sale del campo de juego. Esto implementa un ciclo de vida simple para un objeto del juego.

10

Planificar datos enemigos como lista

La formación enemiga se prepara inicialmente como una lista de nombres y posiciones. Aún no se crean figuras enemigas, por lo que la separación entre modelo de datos y presentación permanece clara.

11

Mostrar formación enemiga

Las figuras visibles del enemigo se generan a partir de los datos iniciales preparados. Los nombres, posiciones y etiquetas se adoptan consistentemente para que las reglas posteriores puedan acceder a la formación.

12

Establecer estado activo del enemigo

Una lista separada mantiene un registro de qué enemigos están activos actualmente, diferenciándolos de todos los enemigos creados.

13

Completar estructura de impacto

Se añade una reacción de colisión entre un disparo y un enemigo. Un impacto válido elimina al enemigo de la lista activa, lo mueve fuera del campo visual y reinicia el disparo.

14

Añadir puntos

La puntuación aumenta exactamente en un punto con un impacto válido. El cálculo permanece separado de la visualización para mantener los cambios de datos y la presentación independientes.

15

Mostrar puntuación en el HUD

El puntaje se hace visible mediante un elemento de la interfaz de usuario y está vinculado al valor de la escena, estableciendo la conexión entre el estado interno y la retroalimentación en pantalla.

16

Mover enemigos lentamente

Los enemigos activos se mueven lentamente hacia los lados. El movimiento utiliza sus propios valores de escena para dirección y ritmo, y permanece limitado a los enemigos actualmente activos.

17

Cambio de borde para la formación

Al alcanzar el borde del campo de juego, la formación cambia de dirección y se mueve hacia abajo. La comprobación se realiza de modo que no se active múltiples veces en el mismo fotograma.

18

Reiniciar la formación de forma segura

Una función auxiliar reinicia a todos los enemigos a sus posiciones iniciales y restaura la lista de enemigos activos. La función no crea nuevas figuras y apoya lógica futura de olas y reinicios.

19

Introducir vidas y peligro

Si los enemigos activos se adentran demasiado, se deduce una vida y la formación se reinicia. El estado de disparo también se limpia para que cada situación de peligro pueda procesarse claramente.

20

Mostrar vidas en el HUD

Las vidas restantes son visibles como un valor separado del HUD. La visualización está colocada aparte del título y el puntaje, para que la información de juego distinta permanezca distinguible.

21

Iniciar nueva ola

Cuando todos los enemigos son derrotados, se incrementa la ola y la formación se prepara nuevamente usando la función de reinicio. Los puntos y las vidas permanecen intactos, creando una progresión continua del juego.

22

Juego terminado sin reiniciar

Cuando se agotan las vidas, se establece un estado de Game Over. Los elementos normales del juego como el movimiento, el disparo, el movimiento enemigo y las nuevas olas no continúan en este estado.

23

Reiniciar con botón y toque

Después de Game Over, se añade una acción de reinicio no bloqueada. Los puntos, vidas, oleada, posición del jugador, disparo y formación se restablecen consistentemente a un estado inicial.

Fragmento de código

El fragmento muestra la separación de valores de escena, ayudantes de acceso y reglas recurrentes como el núcleo estructural del módulo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class Zugriff:
    @staticmethod
    def figur(ctx, name):
        return ctx.E(name)
    @staticmethod
    def wert(ctx, name, standard=None):
        return ctx.vars.get(name, standard)
    @staticmethod
    def aktion_aktiv(ctx, name):
        return ctx.down(name)
SZENE('hauptszene', puntos=0, vidas=3,
      estado='Construcción: listo para expandir',
      nombres_enemigos=[], disparo_activo=False, ola=1)
def reglas_construccion(ctx):
    jugador = Zugriff.figur(ctx, 'defensor')
    if jugador is None:
        return
    if Zugriff.accion_activa(ctx, 'izquierda') or Zugriff.accion_activa(ctx, 'derecha'):
        ctx.vars['estado'] = 'Entrada detectada: movimiento se expandirá.'
Este módulo conecta el modelado del juego con la implementación paso a paso y hace trazables los estados, reglas y retroalimentación.

La secuencia clara de tareas apoya la organización de lecciones, seguridad intermedia y el desarrollo de un curso completo de juego a partir de pequeños cambios de código. Extensiones como ritmo, oleadas o reinicio permiten una adaptación flexible a distintos niveles de aprendizaje.

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