You are on page 1of 5

Colegio De Educacin Profesional Tcnica Bachiller

Del Estado De Veracruz


CONALEP






Modulo: POVI

P.S.P: Miguel ngel Ramos Grande

Alumnos: Helen Karina Garcs Ramrez
Reina Mndez Daz

Grupo: 604

Carrera: Informtica

Reporte de practica 6


Actividad En Equipo
PRACTICA 6
REPORTE
Crea juego Mini Serpiente 1 con uso de Mapas.
Para empezar nuestro cdigo debemos de declarar la siguiente librera:
#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
Definiremos la pausa en milisegundos entre un fotograma y otro.
6
#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 =
{{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 a 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 con la "macro" que nos pide Allegro
END_OF_MAIN();

You might also like