Unidad de Aprendizaje 2: Diseo de videojuegos Nmero: Prctica 6: Crea juego Mini Serpiente 1 con uso de Mapas. Nmero: Propsito de la prctica: Elabora una aplicacin de videojuego con uso de Mapas para que una figura avance por la pantalla; si choca con la pared exterior, con su propia "cola" o con algn otro obstculo, muere Mdulo: Programacin De Videojuegos [POVI-02] Grupo: 604 Informtica Alumno: Manuel Alexis Hurtado Morales P.S.P: Ing. Miguel ngel Ramos Grande Fecha: 19 de mayo de 2014 Matricula: 111650246-7 Comentarios:
Observaciones:
Direccin del blog: http://programaciondevideojuegosalexis.blogspot.mx/ PRACTICA #6 MINI SERPIENTE 1.- Para la elaboracin de esta prctica lo primero que realice es: Abrir Dev-Cpp Damos clic en ARCHIVO Seleccionamos el men NUEVO Enseguida damos clic en PROYECTO
2. - Se abrira la siguiente ventana y seleccionamos el men siguiente:
#include <allegro.h> //Definiremos las posiciones iniciales de X y Y como se muestra a continuacin. #define POS_X_INI 16 #define POS_Y_INI 10 #define INC_X_INI 1 #define INC_Y_INI 0 Comentario [A1]: Inicializamos allegro //Definiremos la pausa en milisegundos entre un fotograma y otro. #define PAUSA 350 //Definiremos las teclas que sern usadas para mover al jugador. #define TEC_ARRIBA KEY_W #define TEC_ABAJO KEY_S #define TEC_IZQDA KEY_A #define TEC_DCHA KEY_D //Declararemos las variables de la posicin actual y el incremento de la posicin. int posX, posY; int incX, incY; //Declaramos la variable que vamos a pulsar para almacenar la Tecla pulsada. int tecla; //Definimos la escala entre el tamao de mapa y de la pantalla. #define ESCALA 10 //Definimos en ancho y el alto de los Sprites. #define ANCHOSPRITE 10 #define ALTOSPRITE 10 //Disearemos nuestro Sprites usando un BITMAP y despus formaremos nuestro sprite. /* Nuestro sprites */ BITMAP *jugador; typedef char tipoSprite[ANCHOSPRITE][ALTOSPRITE]; /* El sprite en si: matriz de 30x30 bytes */ tipoSprite spriteJugador = Comentario [A2]: Pausa de 350 milisegundos Comentario [A3]: Se Mover hacia arriba con la tecla W Comentario [A4]: Hacia abajo con la tecla S Comentario [A5]: Hacia la izquierda con la tecla A Comentario [A6]: Y hacia la derecha con la tecla D {{0,0,3,3,3,3,3,0,0,0}, {0,3,1,1,1,1,1,3,0,0}, {3,1,1,1,1,1,1,1,3,0}, {3,1,1,1,1,1,1,1,3,0}, {3,1,1,1,1,1,1,1,3,0}, {3,1,1,1,1,1,1,1,3,0}, {0,3,1,1,1,1,1,3,0,0}, {0,0,3,3,3,3,3,0,0,0} }; //Crearemos la rutina para crear los sprites. void creaSprites() { int i, j; jugador = create_bitmap(10, 10); clear_bitmap(jugador); for(i=0; i<ANCHOSPRITE; i++) for (j=0; j<ALTOSPRITE; j++) putpixel(jugador, i, j, palette_color[ spriteJugador[j][i] ]); } //Crearemos la rutina para dibujar el fondo. void dibujaFondo() { int i, j; clear_bitmap(screen); } //Ahora crearemos el cuerpo del programa. int main() { allegro_init(); /* Inicializamos Allegro */ install_keyboard(); /*Instalamos keyboard para hacer uso del teclado*/ install_timer(); //Intentamos entrar a modo grafico. if (set_gfx_mode(GFX_SAFE, 320, 200, 0, 0) != 0) { set_gfx_mode(GFX_TEXT, 0, 0, 0, 0); allegro_message("Incapaz de entrar a modo grafico\n%s\n",allegro_error); return 1; } //Si todo va bien hasta aqu empezamos mandamos a llamar las funciones de nuestros sprites y las del fondo de la pantalla. creaSprites(); dibujaFondo(); //Mandamos a llamar nuestros valores iniciales del jugador. posX = POS_X_INI; posY = POS_Y_INI; incX = INC_X_INI; incY = INC_Y_INI; //Esta es la parte en la que se repite. do { dibujaFondo(); draw_sprite (screen, jugador, posX*ESCALA, posY*ESCALA); //Hacemos la comprobacin de que si se ha pulsado alguna tecla. if ( keypressed() ) { tecla = readkey() >> 8; switch (tecla) { case TEC_ARRIBA: incX = 0; incY = -1; break; case TEC_ABAJO: incX = 0; incY = 1; break; case TEC_IZQDA: incX = -1; incY = 0; break; case TEC_DCHA: incX = 1; incY = 0; break; } } posX += incX; posY += incY; //Hacemos una pequea pausa antes de seguir. rest ( PAUSA ); } while (TRUE); //En esta parte repetimos indefinidamente readkey(); return 0; } //Terminamos nuestro programa END_OF_MAIN(); AL FINAL EL JUEGO QUEDO DE LA SIGUIENTE MANERA:
En esta prctica realizamos el juego de una mini serpiente, este juego es muy conocido, utilizamos varias funciones, como lo son; if (si), else (sino), do (hacer), while (mientras), definimos teclas para manejar el juego y matrices, aprendimos que utilizando la lgica es cmo podemos elaborar juegos ms vistosos, por ejemplo las matrices formadas dieron un enfoque ms visual, y la serpiente tiene una forma como ms vistosa no es una simple bolita. Aprendi a utilizar el matrices y reforc conocimientos. Se me dificulto el uso de matrices ya que es algo nuevo para mi.