niciz
10-10-2011, 17:29
Ciao a tutti.. premetto che sono un pò inesperto e non sò bene dove girarmi nel linguaggio C..
Sto facendo una specie di space impact ma sono impacciato nell'implementare la funzione pausa.. Vorrei che quando si premesse P il gioco si fermasse per poi riprendere quando si preme ancora P..
Il problema è che quando io premo P il tasto rimane in memoria nel buffer (credo) e siccome il codice della funzione è stutturato così:
bool pause=false;
while(key[KEY_P]||pause)
{ pause=true;
textout(buffer,font,"PAUSA",(wschermo/2)-20,hschermo/2,bianco);
blit(buffer,screen,0,0,0,0,wschermo,hschermo); nello schermo
if(key[KEY_P])
{ pause=false;
}
}
la funzione è infinita.. Ho provato anche ad utilizzare fflush(stdin) ma senza alcun risultato.. qualcuno sà darmi una mano??
un altra cosa.. Dev mi dice che textout è deprecato quale comando posso usare in alternativa?
Sto facendo una specie di space impact ma sono impacciato nell'implementare la funzione pausa.. Vorrei che quando si premesse P il gioco si fermasse per poi riprendere quando si preme ancora P..
Il problema è che quando io premo P il tasto rimane in memoria nel buffer (credo) e siccome il codice della funzione è stutturato così:
bool pause=false;
while(key[KEY_P]||pause)
{ pause=true;
textout(buffer,font,"PAUSA",(wschermo/2)-20,hschermo/2,bianco);
blit(buffer,screen,0,0,0,0,wschermo,hschermo); nello schermo
if(key[KEY_P])
{ pause=false;
}
}
la funzione è infinita.. Ho provato anche ad utilizzare fflush(stdin) ma senza alcun risultato.. qualcuno sà darmi una mano??
un altra cosa.. Dev mi dice che textout è deprecato quale comando posso usare in alternativa?