Colegio de Educacin Profesional Tcnica del Estado de Veracruz
"Lic. Jess Reyes Heroles"
Alumna: Sugey Guadalupe Loya Herrera
Grupo: 604 Carrera: Informtica
Modulo:
"Programacin para videojuegos"
Psp: Miguel ngel Ramos Grande
Practica 6. Crea juego Mini Serpiente 1 con uso de Mapas 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.
En esta prctica mi compaero y yo vamos a realizar un juego donde nos aparezca un crculo en nuestra pantalla, pensamos que esta prctica ser muy fcil, ya que la aplicamos con el maestro antes de entrar con DEV C++, el maestro nos dio una explicacin con un ejemplo similar. Para empezar nuestro cdigo debemos de declarar la siguiente librera:
Definiremos la pausa en milisegundos entre un fotograma y otro.
#define PAUSA 350
Se seleccionan 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 Se har un incremento de la posicin:
int posX, posY; int incX, incY; int tecla; #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 = {{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] ]); }
void dibujaFondo() { int i, j; clear_bitmap(screen); }
Ahora vamos a crear lo que es en si el 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; }. creaSprites(); dibujaFondo(); 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); 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; rest ( PAUSA ); } while (TRUE); En esta parte repetimos indefinidamente readkey(); return 0; } Terminamos con la "macro" que nos pide Allegro END_OF_MAIN();