¿Qué hará esta versión?

Veamos cómo hacerlo...

Cambios en personaje y enemigo: ancho y alto

Casi ninguno: la rutina de colisiones (básica, por solapamiento de rectángulos) ya está definida en la clase ElemGrafico, así que basta con asegurarnos de que hayamos indicado el ancho y el alto de cada uno de los elementos que puede chocar, para que la comprobación de estas colisiones sea correcta.

Lo haríamos en el constructor de cada una de estas clases: para enemigo

public class Enemigo : ElemGrafico
{
  // Constructor
  public Enemigo(Partida p)
  {
    [...]
    SetAnchoAlto(36, 48);
  }
 
  [...]
 

y para personaje

public class Personaje : ElemGrafico
{
  [...]
 
  // Constructor
  public Personaje(Partida p)
  {
    [...]
    SetAnchoAlto(30, 48);
  }
  [...]
 

Cambios en Partida: colisiones y reiniciar

La rutina de comprobación de colisiones, que hasta ahora estaba vacia, deberá comprobar si tocamos al enemigo, para restar una vida, y dar la partida por terminada cuando no nos queden vidas. De paso, podemos hacer que la rutina de dibujar elementos al menos avise de cuantas vidas nos quedan:

// --- Comprobar colisiones de enemigo con personaje, etc ---
 void comprobarColisiones()
{
    if (miPersonaje.ColisionCon(miEnemigo))
    {
        miPersonaje.Morir();
        miPersonaje.Reiniciar();
        miEnemigo.Reiniciar();
    }
 
     if (miPersonaje.GetVidas() == 0)
         partidaTerminada = true;
}
 
 
// --- Dibujar en pantalla todos los elementos visibles del juego ---
void dibujarElementos()
{
    // Borro pantalla      
    Hardware.BorrarPantallaOculta(0,0,0);
 
    // Dibujo todos los elementos
    miPantallaJuego.DibujarOculta();
    miPersonaje.DibujarOculta();
    miEnemigo.DibujarOculta();
 
    // Muestro vidas (pronto será parte del marcador)
    Hardware.EscribirTextoOculta("Vidas: "+miPersonaje.GetVidas(),
        280, 550, 0xAA, 0xAA, 0xAA, fuenteSans18);
 
    // Finalmente, muestro en pantalla
    Hardware.VisualizarOculta();        
}

Cambios menores en Juego, Presentacion, Opciones

En Juego no es necesario ningún cambio, pero podemos aprovechar para hacer una pequeña mejora: si usamos la tecla Espacio para entrar al juego y también para saltar, la partida comenzará con nuestro personaje saltando, sí que podemos hacer que se comience a jugar con la tecla J.

La Presentación tampoco necesita cambios... salvo avisar de esa tecla en su pequeña zona de ayuda.

De paso, podemos preparar una pantalla de Opciones, que más adelante nos permita escoger cosas como imágenes de mayor o menor resolución, jugar en ventana o pantalla completa, etc. De momento se limitará a escribir texto, por lo que será casi igual que la pantalla de Creditos.


No hay apenas cambios en la apariencia. Esta versión es la 0.07, que puedes descargar en la página del proyecto en Google Code.

Siguiente entrega...