El trabajo propuesto

Hacer que el personaje se mueva solo, desde las coordenadas (100,300) hasta tocar el borde derecho de la pantalla de juego. En ese momento, deberá quedarse parado.

Forma de conseguirlo

Debería ser sencillo:

  • Para que la posición del personaje cambie, no lo "moveremos" siempre a las mismas coordenadas, sino que jugaremos con una variable "x": imagenPersonaje. MoverA( x ,300);
  • Para que se aprecien cambios en pantalla, y así se pueda dar sensación de movimiento, la parte de programa que se encarga de dibujar al personaje, de escribir el texto y de visualizar la pantalla oculta debe repetirse dentro del "do..while", mientras que se espera a que el usuario pulse ESC
  • Para que el personaje se mueva a la derecha, basta con aumentar su coordenada x: x++; Si queremos que no se salga de la pantalla, deberemos limitar el valor de x, no dejando que pase de 730 (los 800 de ancho de nuestro modo gráfico menos los 70 de ancho de nuestras imágenes): if (x<730) x++;

La apariencia será casi idéntica a la de la entrega 2:

Apariencia de la version 0.02

El fuente debería ser algo como:

/** 
 *   Juego: Lgica de juego
 *  
 *   @see Hardware
 *   @author 1-DAI IES San Vicente 2009/10
 */
 
/* --------------------------------------------------         
   Parte de Death Pit - Remake
   Versiones hasta la fecha:
 
   Num.   Fecha       Por / Cambios
   ---------------------------------------------------
   0.01  08-Sep-2009  Nacho Cabanes
                      Versin inicial: muestra una imagen
   0.02  07-Oct-2009  Nacho Cabanes
                      Mueve el personaje hacia la derecha
                      hasta llegar al margen
 
 ---------------------------------------------------- */
 
public class Juego
{
 
    private static void Main()
    {
        // Variables que usaremos: una imagen y un tipo de letra
        ElemGrafico imagenPersonaje;
        Fuente fuente18;
        short x = 100;
 
        // Inicializo modo grafico 800x600 puntos, 24 bits de color
        Hardware.Inicializar(800, 600, 24);
 
        // Cargo imagenes y tipos de letra
        imagenPersonaje = new ElemGrafico("imagenes/personaje.png");
        fuente18 = new Fuente("FreeSansBold.ttf", 18);
 
        // Y espero a que se pulse ESC
        do {
 
          // Dibujo el personaje y un texto en la pantalla oculta
          imagenPersonaje.MoverA( x ,300);
          imagenPersonaje.DibujarOculta();
 
          Hardware.EscribirTextoOculta(
                "Pulsa ESC para salir",
                300, 500, 0xAA, 0xAA, 0xAA, fuente18);
 
          // Finalmente, muestro en pantalla
          Hardware.VisualizarOculta();        
 
          // Y lo muevo
          if (x<730)
            x++;
 
        } while (! Hardware.TeclaPulsada(Hardware.TECLA_ESC) );
 
    }
 
} /* fin de la clase Juego */
 

Siguiente entrega...