De curand, m-am gandit sa fac un simulator. Mai exact, este vorba despre viteza de reactie. Utilizatorul trebuie sa apese in 60 de secunde tasta spatiu de un numar nelimitat de ori, iar apoi sa afle scorul final, adica de cate ori s-a reusit sa se apese tasta spatiu in cele 60 de secunde trecute care tocmai au expirat. Doar ca m-am lovit de o problema: Atunci cand eu apas tasta spatiu, variabilei numite i caruia i-am atribuit numarul 1, la apasarea tastei spatiu, variabila i este urcata la doi si se opreste acolo.
Mai jos pun codul.
Cod: Selectaţi tot
tts_voice voice;
void main()
{
show_game_window("Training game");
voice.speak("Welcome to Training Game. Press enter to begin.");
while(true)
{
if(key_down(KEY_LMENU) && key_pressed(KEY_F4))
{
exit();
}
else
{
if(key_pressed(KEY_RETURN))
{
break;
}
}
wait(5);
}
voice.stop();
start_game();
}
void start_game()
{
int i=1;
int time;
sound background;
sound expired_time;
background.stream("background.dat");
expired_time.stream("expired_time.dat");
voice.speak_wait("Ok, let start. Good luck!");
background.play_looped();
for(time=0; time<60; time++)
{
wait(1000);
}
while(true)
{
if(key_pressed(KEY_SPACE))
{
i++;
}
if(time==60)
{
break;
}
wait(5);
}
background.stop();
expired_time.play_wait();
voice.speak_wait("Times up! Your final score is"+i);
exit();
}