Está en la página 1de 7

COLEGIO DE EDUCACION PROFESIONAL TECNICA DEL ESTADO

DE VERACRUZ
PLANTEL Lic. Jess Reyes Heroles #165

UNIDAD: 2

NOMBRE DEL ALUMNO: MATRCULA:
MARTHA L. LORENZO CERVANTES 111650276- 4

DOCENTE:
ING. MIGUEL ANGEL RAMOS GRANDE


MDULO:
PROGRAMACION DE VIDEOJUEGOS

CARRERA: GRUPO: SEMESTRE:
Profesional Tcnico en Informtica 603 6




TITULO DE LA INVESTIGACIN O TAREA:



PRACTICA NUMERO 5





Motos de Luz


OBSERVACIONES:



















CALIFICACIN

Este Es El Cdigo De Las Motos De Luz:


#include <allegro.h> /* librera*/

#define POS_X_INI_1 150 /*posicin*/
#define POS_X_INI_2 170
#define POS_Y_INI_1 100
#define POS_Y_INI_2 100

#define INC_X_INI_1 -1 /*inicio*/
#define INC_X_INI_2 1
#define INC_Y_INI_1 0
#define INC_Y_INI_2 0

#define PAUSA 150

/* Teclas predefinidas para cada jugador */
#define TEC_ARRIBA_1 KEY_E
#define TEC_ABAJO_1 KEY_X
#define TEC_IZQDA_1 KEY_S
#define TEC_DCHA_1 KEY_D

#define TEC_ARRIBA_2 KEY_8_PAD
#define TEC_ABAJO_2 KEY_2_PAD
#define TEC_IZQDA_2 KEY_4_PAD
#define TEC_DCHA_2 KEY_6_PAD



int posX1, posY1, posX2, posY2; /* Posiciones actuales */
int incX1, incY1, incX2, incY2; /* Incremento de la posicion */
int futX1, futY1, futX2, futY2; /* Posiciones futuras */
/* Si ha chocado alguna moto */
int chocado;
/* La tecla pulsada */
int tecla;

int main()
{
allegro_init(); /* Inicializamos Allegro */
install_keyboard();
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 ha ido bien: empezamos */
/* Rectangulo amarillo alrededor */
rect(screen,0,0,319,199, palette_color[14]);
/* Valores iniciales */
posX1 = POS_X_INI_1;
posX2 = POS_X_INI_2;
posY1 = POS_Y_INI_1;
posY2 = POS_Y_INI_2;

incX1 = INC_X_INI_1;
incX2 = INC_X_INI_2;
incY1 = INC_Y_INI_1;
incY2 = INC_Y_INI_2;
/* Parte repetitiva: */
do {
chocado = FALSE;
/* Compruebo si alguna va a colisionar */
futX1 = posX1 + incX1;
futX2 = posX2 + incX2;
futY1 = posY1 + incY1;
futY2 = posY2 + incY2;

if (getpixel(screen, futX1, futY1)!=0)
{
textout(screen, font,
"La moto 1 ha chocado!", 100,90, palette_color[13]);
chocado =TRUE;
}

if (getpixel(screen, futX2, futY2)!=0){
textout(screen, font,
"La moto 2 ha chocado!", 100,110, palette_color[12]);
chocado = TRUE;
}

if (chocado)break;

/* Si ninguna ha colisionado, avanzan */
line (screen, posX1, posY1, futX1, futY1, palette_color[13]);
posX1 = futX1; posY1 = futY1;
line (screen, posX2, posY2, futX2, futY2, palette_color[12]);
posX2 = futX2; posY2 = futY2;
/* Compruebo si se ha pulsado alguna tecla */
if ( keypressed() ){
tecla = readkey() >>8;

switch(tecla){
case TEC_ARRIBA_1:
incX1 = 0; incY1 = -1;break;
case TEC_ABAJO_1:
incX1 = 0; incY1 = 1;break;
case TEC_IZQDA_1:
incX1 = -1; incY1 = 0;break;
case TEC_DCHA_1:
incX1 = 1; incY1 = 0;break;

case TEC_ARRIBA_2:
incX2 = 0; incY2 = -1;break;
case TEC_ABAJO_2:
incX2 = 0; incY2 = 1;break;
case TEC_IZQDA_2:
incX2 = -1; incY2 = 0;break;
case TEC_DCHA_2:
incX2 = 1; incY2 = 0;break;
}
}

/* Peque?a pausa antes de seguir */
rest ( PAUSA );

}
while (TRUE); /* Repetimos indefininamente */
/* (la condici?n de salida la comprobamos "dentro") */

readkey();
return 0;
}

/* Termino con la "macro" que me pide Allegro */
END_OF_MAIN();














Para realizar la prctica nmero 5 motos de luz, lo primero primero es abrir el programa con allegro
introduje y despus introducir las libreras correspondientes como se muestran en la siguiente imagen,
despus las libreras para definir su Posicione:












Despus cree un rectngulo color amarillo, despus puse valores iniciales, luego puse el cdigo para que las
motos choquen y un pequeo mensaje de aviso cuando la moto choque, que son valores falsos como se
puede ver en el cdigo de la siguiente imagen:

Despus se introduce otro mensaje, si es el caso de que la moto numero dos chocara, donde
tambin a la variable se le asigna un valor falso, y si ninguna moto chocara esta continan
avanzando, despus el siguiente cdigo es para indicar si se ha pulsado alguna tecla:













Despus coloque el (rest) para poder pausar a las motos y luego coloque el (while) para que se
repita y para finalizar el cdigo coloque END_OF_MAIN(); como se puede ver en el cdigo de la
siguiente imagen.
En estas pantallas se muestra el resultado de la ejecucin del programa

Primero aparecen las motos: Segunda pantalla
muestra cuando se
hace uso de las teclas
y se empiezan a
mover las motos







Y al final cuando una moto choca

También podría gustarte