Por Nacho Cabanes
Hacer que el personaje se mueva a derecha o izquierda cuando se pulsen la flecha derecha y la izquierda del teclado, respectivamente. Deberá avanzar o retroceder 4 píxeles cada vez. También aparecerá un primer enemigo, el "escorpión", que se moverá solo, hacia la derecha, incluso aunque se salga por el borde derecho de la pantalla de juego. Para que la velocidad de juego no sea exageradamente alta en ordenadores rápidos, lo limitaremos a 25 fotogramas por segundo, haciendo una pausa de 40 ms al final de cada pasada del "bucle de juego" (y supondremos que el tiempo de cálculo y dibujado de cada fotograma es tan pequeño que se puede despreciar).
La apariencia seguirá siendo muy sobria:
El resultado debería ser algo como:
/** * Juego: Lógica 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 Versión inicial: muestra una imagen 0.02 07-Oct-2009 Nacho Cabanes Mueve el personaje hacia la derecha hasta llegar al margen 0.03 13-Oct-2009 Nacho Cabanes El personaje se mueve con flechas Un primer enemigo que se mueve a la vez ---------------------------------------------------- */ public class Juego { private static void Main() { // Variables que usaremos: una imagen y un tipo de letra ElemGrafico imagenPersonaje,imagenEnemigo; Fuente fuente18; short x = 100, xEnemigo = 50; // 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"); imagenEnemigo = new ElemGrafico("imagenes/escorpion.png"); fuente18 = new Fuente("FreeSansBold.ttf", 18); // Y espero a que se pulse ESC do { // Dibujo el personaje, el enemigo y un texto en la pantalla oculta imagenPersonaje.MoverA( x ,300); imagenPersonaje.DibujarOculta(); imagenEnemigo.MoverA( xEnemigo ,100); imagenEnemigo.DibujarOculta(); Hardware.EscribirTextoOculta( "Pulsa ESC para salir", 300, 500, 0xAA, 0xAA, 0xAA, fuente18); // Finalmente, muestro en pantalla Hardware.VisualizarOculta(); // Y lo muevo si se pulsa alguna flecha del teclado if (Hardware.TeclaPulsada(Hardware.TECLA_DER) ) x+=4; if (Hardware.TeclaPulsada(Hardware.TECLA_IZQ) ) x-=4; // Y muevo siempre al enemigo xEnemigo ++; Hardware.Pausa( 40 ); } while (! Hardware.TeclaPulsada(Hardware.TECLA_ESC) ); } } /* fin de la clase Juego */Siguiente entrega...