Hejo, dobry wieczór,
Otóż mam taki problem, przy wciśnięciu spacji chcę zrobić 'blokadę', która uniemożliwi graczowi spamowanie spacją, która odpowiada za uwolnienie pocisku. Próbowałem to zrobić z funkcją Clock(), lecz zawiesza mi aplikację. Kod wygląda tak:
while (opuscil_menu && in_game) {
ALLEGRO_EVENT ev;
al_wait_for_event(event_queue_stage, &ev);
clock_t startTime;
if (ev.type == ALLEGRO_EVENT_KEY_DOWN) {
switch (ev.keyboard.keycode){
case ALLEGRO_KEY_SPACE:
keys[SPACE] = true;
if (((clock() - startTime) / CLOCKS_PER_SEC) >= 0) {
temp = add_bullet(pos_x, pos_y + 20, kierunek);
shot = 1;
bullets[temp].alive = 1;
}
break;
}
}
else if (ev.type == ALLEGRO_EVENT_KEY_UP)
{
case ALLEGRO_KEY_SPACE:
keys[SPACE] = false;
if (shot == 1) {
shot = 0;
}
startTime = clock();
break;
}