Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro] Opóźnienie operacji

Ostatnio zmodyfikowano 2009-01-11 18:35
Autor Wiadomość
TGR
Temat założony przez niniejszego użytkownika
[Allegro] Opóźnienie operacji
» 2009-01-11 10:54:22
Mam pytanie odnośnie allegro c++. Jak zrobić aby, np. po naciśnięciu prawego klawisza, postać przesunęła się w prawo dopiero po 5 sekundach?
P.S.Jeśli odpowiedź do tego pytania jest w kursie, a ja jej nie zauważyłem, to bardzo przepraszam.
P-3613
lynx
» 2009-01-11 13:52:32
1. Musisz napisać kod sprawdzający czy jest wciśnięty dany klawisz, a jeżeli tak to zapisać datę wciśnięcia przycisku do zmiennej.
2. Musisz napisać funkcję sprawdzającą ile czasu minęło od wciśnięcia przycisku i odpowiednio reagującą gdy minie 5 sekund.
P-3617
TGR
Temat założony przez niniejszego użytkownika
» 2009-01-11 15:16:14
Oprócz tego sprawdzenia, reszta brzmi trochę skomplikowanie. Dałoby się jakiś przykład? Kawałek kodu?
P-3619
lynx
» 2009-01-11 16:25:58
Zrobiłem przykłdowy program. Wszystko masz opisane w komentarzach. ;)
C/C++
#include <ctime>
#include <iostream>
using namespace std;

bool koniec = false;
bool raz = false;
clock_t czas_reakcji;
int main()
{
    do //główna pętla gry
    {
        if( raz == false ) //usuń oczywiście a daj:
        //if (key[KEY_DOWN])
        { //Kiedy jest wcisniety przycisk dajesz m.in. tą funkcję:
            czas_reakcji = clock() + 5 * CLOCKS_PER_SEC; //<-
            raz = true;
        }
       
        if( czas_reakcji <= clock() ) // kiedy czas reakcji jest równy lub mniejszy niż aktualny czas
        {
            cout << "Zakonczono odliczanie 5s !"; // tutaj np ludek.y++;
            koniec = 1;
        }
    }
    while( koniec == false ); //główna pętla gry
   
    return 0;
}
P-3621
TGR
Temat założony przez niniejszego użytkownika
» 2009-01-11 17:31:53
Bardzo Ci dziękuję. Na pewno przyda się ten kod.
P-3622
lynx
» 2009-01-11 18:35:44
Nie ma za co. ;)
Cóż rozwiązanie podane, pytań nie ma więc temat zamykam. Jakby były jakieś problemy to sobie otworzysz.
P-3625
« 1 »
  Strona 1 z 1