Вы находитесь на странице: 1из 8

Colegio de educacin profesional tcnica del estado de

Veracruz Lic. Jess Reyes Heroles Plantel #165


Modulo:
Programacin de videojuegos
Docente:
Miguel ngel Ramos Grande
Alumna:
Reina Mndez Daz
Carrera:
Informtica
Matricula:
111650432-3
Reporte de la prctica:
#5 El juego de la moto
Bina con:
Helen Karina Garcs Ramrez

INTRODUCCION
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.
PRACTICA # 5
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

Se abrir la siguiente ventana y seleccionamos el men siguiente:






El cdigo es el siguiente:
#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_A
#define TEC_ABAJO_1 KEY_S
#define TEC_IZQDA_1 KEY_D
#define TEC_DCHA_1 KEY_F
#define TEC_ARRIBA_2 KEY_4_PAD
#define TEC_ABAJO_2 KEY_5_PAD
#define TEC_IZQDA_2 KEY_6_PAD
#define TEC_DCHA_2 KEY_1_PAD
int posX1, posY1, posX2, posY2;
int incX1, incY1, incX2, incY2;
int futX1, futY1, futX2, futY2;
int chocado;
int tecla;
int main()
En esta prctica es necesario utilizar la
librera <allegro.h> ya que la que
utilizbamos antes no soporta los grficos
que requerimos para esta prctica.
Declaracin de variables.
{
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[12]);
chocado = TRUE;
}
if (chocado)break;
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;
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();




Utilizacin del Break, para
marcar una rotura en la clase y
mandar a llamar a otra.
Este es el resultado de nuestro programa:

En nuestro cdigo se puede notar que utilizamos distintos tipos de funciones como el
While, For y tambin el Break ya que el programa lo solicitaba ya que si no colocbamos
el Break el programa mostraba unos errores en pantalla aunque en ocasiones nos los
marcaba al compilar ya que nos ayuda a romper la funcin; para brindarle tiempo al
videojuego que saltara a la siguiente declaracin.

Вам также может понравиться