Death Pit Remake
Un remake parcial de un juego... paso a paso
02.- Un personaje que se mueve solo
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:

El fuente 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 ---------------------------------------------------- */ 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...
Acceso rápido
- 00.- Motivo
- 01.- Esqueleto vacío
- 02.- Un personaje que se mueve solo
- 03.- Personaje que se mueve con teclado. Enemigo simultáneo
- 04.- Presentación. Dos enemigos con distinto comportamiento
- 05.- Varios enemigos iguales
- 06.- Un fondo formado por "casillas" repetitivas (tiles)
- 07.- El personaje se mueve por el laberinto
- 08.- Un fuente más modular
- 09.- Varias pantallas conectadas
- 10.- Un enemigo que se mueve por el laberinto
- 11.- Varias vidas
- 12.- Distintas imágenes según la dirección. Matar enemigos y obtener puntos.
- 13.- Volver a empezar una partida.
- 14.- Rediseño usando objetos
- 15.- Tabla de records (Aún no)
- 16.- Varios tipos de enemigos (Aún no)
- 17.- Leyendo el mapa desde fichero (Aún no)
- 18.- Gastar aire y "energía" (Aún no)
- 19.- Recoger "premios" (Aún no)
- Orig.- Algunos datos sobre el juego original