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

zapamiętanie wciśnietego klawisza

Ostatnio zmodyfikowano 2015-05-22 22:50
Autor Wiadomość
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 ?
P-132625
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.
P-132631
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?
P-132639
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().
P-132640
arek213
Temat założony przez niniejszego użytkownika
» 2015-05-22 22:50:48
Dzięki wielkie !
P-132642
« 1 »
  Strona 1 z 1