Programación Específica > Allegro

 Problemas con el teclado

(1/1)

ehguacho:
hola! saludos a todos y gracias de antemano!
ando buscando ayuda para resolver un problemita. resulta que estoy haciendo mi primer programa en C++ y Allegro (IDE Code::Blocks + Allegro). este mi codigo:

--- Código: C++ ---#include <allegro.h>#include <conio2.h>#include <stdio.h>#include <stdlib.h> static inline void TicksCounter();volatile int ticks,max_ticks; int main(){    BITMAP *fichas[12];    PALETTE paleta;    int i,x,y;     clrscr();     allegro_init();    install_timer();    install_keyboard();     set_color_depth(32);    if(set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0) != 0)    {        printf("Error cambiando al modo grafico. Saliendo...");        allegro_exit();        exit(1);    }     fichas[0] = load_bitmap("ficha0.pcx",paleta);    fichas[1] = load_bitmap("ficha1.pcx",paleta);    fichas[2] = load_bitmap("ficha2p1.pcx",paleta);    fichas[3] = load_bitmap("ficha2p2.pcx",paleta);    fichas[4] = load_bitmap("ficha3p1.pcx",paleta);    fichas[5] = load_bitmap("ficha3p2.pcx",paleta);    fichas[6] = load_bitmap("ficha4p1.pcx",paleta);    fichas[7] = load_bitmap("ficha4p2.pcx",paleta);    fichas[8] = load_bitmap("ficha5p1.pcx",paleta);    fichas[9] = load_bitmap("ficha5p2.pcx",paleta);    fichas[10] = load_bitmap("ficha6p1.pcx",paleta);    fichas[11] = load_bitmap("ficha6p2.pcx",paleta);     ticks = 0;    LOCK_VARIABLE(ticks);    LOCK_FUNCTION(TicksCounter);    install_int(&TicksCounter,14);     x = y = 10;    max_ticks = 70;    draw_sprite(screen,fichas[0],x,y);    while(!key[KEY_ESC])    {        clear_keybuf();         if(ticks - max_ticks > 0)        {            rectfill(screen,x,y,x + 22,y + 10,makecol(0,0,0));            y += 10;            draw_sprite(screen,fichas[0],x,y);            ticks = 0;            printf("asd"); // eso es solo una linea de prueba para ver si entra a este bloque        }        if(key[KEY_RIGHT]) x += 22;    }     allegro_exit();    return 0;}END_OF_MAIN() static inline void TicksCounter(){    ticks++;     return;}END_OF_FUNCTION(TicksCounter); 
el problema es que cuando presiono la flecha de navegacion derecha, la ficha que dibuje en pantalla y que deberia moverse a la derecha se me queda completamente clavada. alguien tiene idea de porque puede ser esto?

cualquier ayuda sera bienvenida. saludos!

PD: adjunto el codigo fuente por las dudas...

ehguacho:
bueno por las dudas ya lo solucione :D

Navegación

[0] Índice de Mensajes

Ir a la versión completa