Está en la página 1de 5

Colegio de Educacin tcnica del Estado de Veracruz

CONALEP N165
Lic. Jess Reyes Heroles
Maestro:
Miguel ngel Ramos Grande
Modulo:
Programacin de Videojuegos
Alumna:
Lucia Ramirez Xochihua
402/informtica
Practica 5: Evitar esperar al teclado.
Propsito de prctica: Elaborar un juego donde se evite esperar al
teclado, es decir que la computadora quede "parada "
esperando a que se pulse una tecla, sino que la accin prosiga
aunque no se toque el teclado.
Observaciones:

Blog: luciaramirezxochihua.blogspot.mx
Fecha: _______________________________




Introduccin:
El da jueves 25 de mayo di comienzo a la prctica numero 5 la
cual consista en un juego donde se evite esperar al teclado, es
decir que la computadora quede "parada " esperando a que se
pulse una tecla, sino que la accin prosiga aunque no se toque
el teclado.
Introduccin:
Para esto primero encend mi computadora, inicie el programa
en el cual trabajara Dev-cpp.

Despus comenc a leer las instrucciones de lo que se tena que
elaborar, y con ayuda de una pgina que vena en la gua
pedaggica me pude guiar para poder elaborarla.
En esta se utiliz la librera de allegro

#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

/* 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



int posX1, posY1, posX2, posY2;
int incX1, incY1, incX2, incY2;
int futX1, futY1, futX2, futY2;


int chocado;


int tecla;


int main()
{

allegro_init(); /* Inicializamos Allegro */
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;


/* 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;
}
}


rest ( PAUSA );

}
while (TRUE);


readkey();
return 0;

}

END_OF_MAIN();

El juego que se realiz consista en dos jugadores que tenan que
recorrer el espacio indicado, claro sin colisiones, ya que si esto
suceda el juego terminara, en este cdigo se utilizaron varias
sentencias ya vistas en clases pasados como lo son el IF y el
WHILE para poder colocar dichas colisiones.
Tambin otra funcin muy utilizada fue la de getch( ) o
keypressed( ), para saber exactamente qu tecla es la que se ha
pulsado. Despus de haber terminado el cdigo estas fueron las
pantallas ya en el juego.


Conclusin: creo que esta prctica fue muy importante ya que
aprend cosas nuevas que no haba visto, aunque s estuvo un
poco complicada, pero con ayuda de mi maestro la pude
realizar.

También podría gustarte