16. Octavo juego: Marciano 1. (acercamiento)

Vamos a aproximarnos a nuestro primer "matamarcianos". La idea del juego es la siguiente:

  • Manejamos una nave, que será capaz de moverse a izquierda y derecha (por supuesto, no debe salir de la pantalla).
  • En la parte superior de la pantalla habrá un "marciano", capaz de moverse de izquierda a derecha y de ir bajando paulatinamente hacia nuestra posición. Para simplificar (por ahora), sólo hay un enemigo y además no será capaz de disparar.
  • Nuestra nave sí debe ser capaz de disparar, y el programa ha de detectar cuando nuestro disparo alcanza al enemigo, momento en el que termina la partida. También como simplificación, no puede haber dos disparos nuestros en pantalla a la vez.
  • El enemigo debe "cambiar de forma" a medida que se mueve, no ser totalmente "estático" (basta con dos "fotogramas").
  • Los tres elementos (nave, enemigo y disparo deben ser capaces de moverse independientemente uno del otro, y a velocidades distintas).
Para quien tenga poca imaginación, la pantalla del juego podría ser algo así: (en la parte superior he dejado indicado cuales podrían ser las dos formas del "marciano" y la de la explosión; esta apariencia está basada en la del clásico juego "Space Invaders"):

invader1

Como hay varias cosas nuevas, lo resolveremos en cuatro pasos para que sea más fácil de entender:

  1. Paso 1: Todavía no hay movimiento del "marciano" ni de la nave, nos limitaremos a ver cómo cargar las imágenes que manejaremos en los otros 3 pasos.
  2. Paso 2: Movimiento sólo del "marciano", de lado a lado, bajando en la pantalla y cambiando de forma. Se podrá interrumpir pulsando Esc. No deberá salirse por los latos, y si llega a la parte inferior deberá volver a la superior.
  3. Paso 3: Añadiremos nuestra nave, capaz de moverse de lado a lado, a velocidad distinta. Tampoco deberá poderse salir por los lados.
  4. Paso 4: Finalmente, incluiremos también la posibilidad de disparar, el movimiento vertical del disparo y la detección de colisiones entre el disparo y el enemigo. El disparo "desaparecerá" cuando golpee al enemigo o llegue a la parte superior de la pantalla, y sólo entonces se podrá volver a disparar.