Jak zrobić snake'a? - użycie pętli
Ostatnio zmodyfikowano 2009-01-03 00:33
zori Temat założony przez niniejszego użytkownika |
Jak zrobić snake'a? - użycie pętli » 2009-01-02 22:53:27 Jak sprzwdzic jaki pzycisk został wcisnięty z funkcji kbhit()?? napisałem cos takiego #include <iostream> #include <conio.h> #include <windows.h> using namespace std;
int main() { while( 1 == 1 ) { cout << kbhit(); Sleep( 1000 ); } return 0; }
dopóki nic nie wcisniemy to pokazuje 0 jak cos nacisne to pokazuje 1 juz w nieskończoność. A ja chce wiedziec czy ktos wcisnol ENTER i ESC wie ktos jak to sprawdzic?? |
|
Patzick |
» 2009-01-02 23:01:37 hmm polecenie while( 1 == 1 ) jest pętlą nieskończoną, bo przecież 1 zawsze równa się 1 :) za chwilę przyjrzę się bardziej ;) |
|
lynx |
» 2009-01-02 23:03:51 Jak sprzwdzic jaki pzycisk został wcisnięty z funkcji kbhit()?? |
Kbhit() sprawdza tylko czy jest wciśnięty znak z klawiatury i zwraca true albo false, a nie kod przycisku. Ja bym to zrobił tak: if( kbhit() == true ) cout << getch(); |
|
Patzick |
» 2009-01-02 23:09:29 najlepiej zrób tak char a while( a == 0 ) { cin >> a; }; cout << "Wciśnięto klawisz " << a;
mam nadzieję, że o to Ci chodziło :P |
|
lynx |
» 2009-01-02 23:12:06 Wątpię, że mu o to chodziło. ;p On raczej to zna, a w ogóle użyłby sobie getch-a. Jemu chodzi oto by by program nie zatrzymywał się w miejscu gdzie chce pobrać znak z klawiatury i stąd while(1==1). |
|
Patzick |
» 2009-01-02 23:16:02 przecież używa windows.h w takim razie może w switchu wstawić sobie if( kbhit() == 1 ) { a = getch(); return a; coś w tym stylu, program będzie działał nawet bez wciśnięcia klawisza :) |
|
zori Temat założony przez niniejszego użytkownika |
» 2009-01-02 23:18:02 Chce zrobic sneak czyli petla ma sie tykonywac w nieskończonośc 1==1 ale to nie ważne chodzi mi zeby wiedziec czy uzytkownik wcisnoł inny klawisz jeśli nie to będzie wąz np dalej przesuwl się w prawo. Będe bardzo wdzięczny jak komus sie to uda.
/edit Jeszcze co do powyzszych postów dobre stwierdzenie jak by mi funkcje getch() starczyla to bym nie pisał tego postu. |
|
Patzick |
» 2009-01-02 23:22:20 no to jeżeli już jesteś w tej pętli daj if( kbhit() == 1 ) { a = getch(); return a; } jest użyta funkcja kbhit() jak chciałeś i zwracany jest klawisz wciśnięty ;) |
|
« 1 » 2 3 |