Anda di halaman 1dari 5

COLEGIO DE EDUCACION PROFESIONAL TECNICO DEL

ESTADO DE VERACRUZ



NOMBRE DE LA ALUMNA:
JOVANA BERENICE VAZQUEZ MALERVA

GRADO Y CARRERA:
603 INFORMATICA

NOMBRE DEL PSP:
MIGUEL ANGEL RAMOS GRANDE

NOMBRE DEL MODULO:
PROGRAMACION DE VIDEOJUEGOS

UNIDAD DE APRENDIZAJE:
Diseo de videojuegos



PRACTICA #5





INTRODUCCION:
En esta prctica veremos cmo mover algn objeto de la pantalla programndolo con las
teclas de arriba-abajo izquierda-derecha o ya sea cualquier otra tecla, para ello utilizamos
allegro.

PROPOSITO:
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.



ESCENARIO:
LABORATORIO DE INFORMATICA

DURACION:
2 HORAS

MATERIALES:
Equipo de cmputo Core Duo o superior
Dispositivo de almacenamiento (USB)
Windows 2000 en adelante
Compilador de lenguaje seleccionado. (C, C++ o
Java)

PRCTICA:
Elaborar juego evitando esperar al teclado, motos de
luz








PRACTICA #5
Primero encend el equipo de cmputo, posteriormente abr el programa adecuado para realizar mi
primera prctica el cual fue dev-cpp:
Le di clic en archivo nuevo proyecto sale una ventana en donde le pondremos nombre a nuestra
prctica e indicaremos que ser en multimedia en donde trabajaremos, de ah haba una opcin que
dice allegro aplication static, le puse nombre a mi practica y posteriormente di clic en esa, y le di
aceptar para guardar, le damos aceptar luego otra vez aceptar y aceptar de nuevo, y nos sale un
cdigo, lo borre y empec a hacer mi prctica:
En esta prctica tenamos que hacer un videojuego, motos de luz en esta tenamos que mover el
objeto con el teclado ya que este juego tenia que se de dos jugadores, para ello tenamos programar
obviamente el teclado para que fueran diferentes teclas para poder mover las dos motos de luz,
en la programacin del juego tenamos que ir cambiando de posicin las motos, es decir, tenamos
que hacer que avanzaran. Tena que quedar as:

#include <allegro.h>
#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
#define PAUSA 150
#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;
int incX1, incY1, incX2, incY2;
int futX1, futY1, futX2, futY2;
int chocado;
int tecla;
int main()
{
allegro_init();
install_keyboard();
install_timer();
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;
}
rect(screen,0,0,319,199, palette_color[14]);
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;
do {
chocado = FALSE;
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[2]);
chocado = TRUE;
}
if (chocado)break;
line (screen, posX1, posY1, futX1, futY1, palette_color[5]);
posX1 = futX1; posY1 = futY1;
line (screen, posX2, posY2, futX2, futY2, palette_color[11]);
posX2 = futX2; posY2 = futY2;
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;
}
}
rest ( PAUSA );
}
while (TRUE);
readkey();
return 0;
}
END_OF_MAIN();

Anda mungkin juga menyukai