You are on page 1of 12

COLEGIO DE EDUCACIN PROFESIONAL

TCNICA
LIC. JESS REYES HEROLES
CONALEP #165.
NOMBRE:
IRASEMA MNDEZ REYES.
ARELY BENTEZ MIGUEL.
PSP:
MIGUEL ANGEL RAMOS GRANDE.

MODULO:
PROGRAMACION DE VIDEOJUEGOS.

GRUPO Y CARRERA:
603-INFO.
MATRICULA:
111650317-6
TEMA:
PRACTICA #5


Practica 5

Elabora una aplicacin de videojuego que evite esperar al teclado, para
evitar que la computadora quede "parada " esperando a que se pulse
una tecla y la accin prosiga aunque no se toque el teclado.

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 abrir la ventana












3.- de todas estas aplicaciones elegimos la siguiente

Damos clic en aceptar
5.- Se abrir la siguiente ventana en donde pondremos el nombre
a nuestro proyecto y elegiremos la ubicacin en donde se
guardara nuestro proyecto

6.- el siguiente paso es comenzar a programar, para la elaboracin
de este programa el cdigo de la prctica es el siguiente.
#include <allegro.h>
/* Posiciones X e Y iniciales de ambos jugadores */
#define POS_X_INI_1 150
#define POS_X_INI_2 170
#define POS_Y_INI_1 100
#define POS_Y_INI_2 100

#define INC_X_INI_1 -1
#define INC_X_INI_2 1
#define INC_Y_INI_1 0
#define INC_Y_INI_2 0
/* Pausa en milisegundos entre un "fotograma" y otro */
#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
/* Posiciones actuales */
int posX1, posY1, posX2, posY2;
int incX1, incY1, incX2, incY2;

/* Posiciones futuras */
/* Si ha chocado alguna moto */
/* La tecla pulsada */
de la posicion */
int futX1, futY1, futX2, futY2; /* Posiciones futuras */
/* Si ha chocado alguna moto */
int chocado;
/* La tecla pulsada */
int tecla;
int main()
{
/* Inicializamos Allegro */
allegro_init();
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;
}
/* 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;
}
}
/* pausa antes de seguir */
rest ( PAUSA );

}
while (TRUE);
/* (la condicin de salida "dentro") */
readkey();
return 0;

}
/* Termino con la "macro" que me pide Allegro */
END_OF_MAIN();
EN LA PRIMER PANTALLA QUE SE MUESTRA :

AQU SE ESTAN DECLARANDO EL TIPO DE LIBRERIAS QUE SE ESTABAN UTILIZANDO EN NUESTRO
JUEGO.
TAMBIEN SE TIENE QUE INDICAR LAS TECLAS DE CADA JUGADOR Y ESO FUE LO QUE SE REALIZO EN
LA PANTALLA 2.

DESPUES SE COMIENZA A ESCRIBIR EL CODIG0 ,LLEVANDO A CABO LA UTILIZACION DE ALGUNAS
LLAVES ,DE ESTA MANERA ESTAMOS INICIALIZANDO ALLEGRO.

DESPUES DE ESO AUN PUSIMOS UN MENSAJE DONDE EN EL JUEGO NOS MOSTRARA QUE HABIA
CHOCADO.

DESPUS SI ES EL CASO DE QUE LA MOTO NUMERO DOS CHOCARA.A LAS VARIABLE SE LE ASIGNA
UN VALOR FALSO, PERO SI NINGUNA MOTO CHOCARA ESTA CONTINAN AVANZANDO.


DE ESTA MANERA SE FINALIZA EL CODIGO. Y LAS PANTALLAS DEL JUEGO SE MUESTRAN COMO
ACONTINUACION:

You might also like