_szelest_ Temat założony przez niniejszego użytkownika |
[ALLEGRO] 'Odcisniety' klawisz myszki » 2010-11-23 21:42:24 Witam pisze program który ma symulować pracę bankomatu. Utknąłem na podawaniu hasła, tj. zczytuje mi znak nie raz a tyle razy jak wcisniety jest klawisz myszki. Jak to poprawić, np aby zczytywal kiedy klawisz zostanie odcisniety??
#include <allegro.h>
int main() { int mx = 0, my = 0, mb = 0; bool flaga = true; BITMAP * karta = NULL; BITMAP * karta_wl = NULL; BITMAP * kasa = NULL; BITMAP * kasa_z = NULL; BITMAP * paragon = NULL; BITMAP * paragon_z = NULL; BITMAP * pulpit = NULL; allegro_init(); install_keyboard(); install_mouse(); set_color_depth( 16 ); set_gfx_mode( GFX_AUTODETECT, 1280, 800, 0, 0 ); clear_to_color( screen, makecol( 255, 255, 255 ) ); show_mouse( screen ); unscare_mouse(); text_mode( - 1 ); FONT * font1 = load_font( "nowa.pcx", NULL, NULL ); karta = load_bitmap( "karta.bmp", default_palette ); if( !karta ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } karta_wl = load_bitmap( "karta_wl.bmp", default_palette ); if( !karta_wl ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } kasa = load_bitmap( "kasa.bmp", default_palette ); if( !kasa ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } kasa_z = load_bitmap( "kasa_z.bmp", default_palette ); if( !kasa_z ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } paragon = load_bitmap( "paragon.bmp", default_palette ); if( !paragon ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } paragon_z = load_bitmap( "paragon_z.bmp", default_palette ); if( !paragon_z ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } pulpit = load_bitmap( "pulpit.bmp", default_palette ); if( !pulpit ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie moge zaladowac pliku z obrazkiem !\n" ); allegro_exit(); return 0; } blit( pulpit, screen, 0, 0, 0, 0, pulpit->w, pulpit->h ); textout( screen, font1, "Witamy w sieci bankomatow", 165, 110, 0 ); textout( screen, font1, "firmy SZELEST COMPANY", 165, 160, 0 ); textout( screen, font1, "Prosze podac numer karty", 180, 280, 0 ); |