Bonjour, je commence à programmer avec allegro ;) mais voila je butte :
des que j'utilise un timer je n'arrive plus à quitter mon jeu !j'ai
beau défoncer la touche ESC ça marche pas!!! une portion de code :
#include <allegro.h>
volatile long speed_counter = 0;
void increment_speed_counter()
{
speed_counter++;
}
END_OF_FUNCTION(increment_speed_counter);
void destroy_ressources();
BITMAP *buffer,*map,*colmap ;
BITMAP *pacman[8];
DATAFILE *data;
int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
install_timer();
LOCK_VARIABLE(speed_counter);
LOCK_FUNCTION(increment_speed_counter);
install_int_ex(increment_speed_counter, BPS_TO_TIMER(60));//Set our BPS
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640,480,0,0);
data = load_datafile("data.dat");
set_palette((RGB*)data[eee].dat);
buffer = create_bitmap(640,480);
clear(buffer);
map = load_bitmap("bmps/Image6.bmp",NULL);
colmap = load_bitmap("bmps/collisions.bmp",NULL);
pacman[0] = load_bitmap("bmps/pacright.bmp",NULL);
pacman[1] = load_bitmap("bmps/pacright.bmp2",NULL);
pacman[2] = load_bitmap("bmps/pacleft.bmp",NULL);
pacman[3] = load_bitmap("bmps/pacleft.bmp2",NULL);
pacman[4] = load_bitmap("bmps/pacup.bmp",NULL);
pacman[5] = load_bitmap("bmps/pacup2.bmp",NULL);
pacman[6] = load_bitmap("bmps/pacdown.bmp",NULL);
pacman[7] = load_bitmap("bmps/pacdown2.bmp",NULL);
while(!key[KEY_ESC])//If the user hits escape, quit the program
{
while(speed_counter>0)
{
clear(buffer);
blit(colmap,buffer,0,0,0,0,640,480);
blit(buffer,screen,0,0,0,0,640,480);
speed_counter--;
}
}
destroy_ressources();
return 0; // Exit with no errors
}
END_OF_MAIN()
}