zapamiętanie wciśnietego klawisza
Ostatnio zmodyfikowano 2015-05-22 22:50
arek213 Temat założony przez niniejszego użytkownika |
zapamiętanie wciśnietego klawisza » 2015-05-22 17:05:21 Jeśli np chcę sterować snakiem to nie chcę wciskać strzałki w lewo przy każdym ruchu tylko chcę aby jak wcisnę strzałkę w lewo i póki nic innego nie wcisne ten wąż ciągle szedł w lewo.
Czy zrobię to za pomocą if key ? |
|
Gibas11 |
» 2015-05-22 19:09:11 Ale że co? Zrób sobie zmienną przechowującą znak i jej nie czyść, tu masz pseudokod: int main() { char c; //zmienna na ostatnio naciśnięty klawisz
for(;;) { if(kbhit()) //sprawdzanie czy naciśnięto jakiś przycisk c = getch(); //jeżeli tak zapisywanie go do zmiennej "c" switch(c) //sprawdzanie jaki jest ostatni naciśnięty przycisk { case 'w': //w wypadku 'w' (przyjmiemy, że wąż porusza się do góry po naciśnięciu "w") //instrukcje wykonywane przy ruchu do góry break;
//itd. }; }
Nie wiem jakich bibliotek używasz, więc przystosuj to pod siebie. |
|
arek213 Temat założony przez niniejszego użytkownika |
» 2015-05-22 22:09:29 wtedy jak wcisne klawisz w gore to waz ciagle bedzie isv do gory poki innego klawisza nie wcisne? |
|
pekfos |
» 2015-05-22 22:17:22 Sprawdź..? By rozwiązać ten problem, wystarczy byś miał zmienną określającą kierunek ruchu węża i którą będziesz zmieniać w zależności od wciskanych klawiszy. Przy czym nie możesz się zatrzymywać na getch(). |
|
arek213 Temat założony przez niniejszego użytkownika |
» 2015-05-22 22:50:48 Dzięki wielkie ! |
|
« 1 » |