Nieskończona pętla.
Ostatnio zmodyfikowano 2016-12-07 20:26
NukeeMann Temat założony przez niniejszego użytkownika |
Nieskończona pętla. » 2016-12-07 17:40:23 Witam. Jest to mój pierwszy post tutaj. Tworzę grę SNAKE. Jak stworzyć pętle która bedzie się wykonywac tak dlugo póki uzytkownik czegoś nie wpisze, ale z kolei, żeby nie czekało na wpisywanie?
Na przykład: Program wypisuje ciąg fibonacciego tak długo, aż użytkownik nie przerwie go klikając w jakiś przycisk na klawiaturze.
Potrzebne jest to mi do automatycznego poruszania się węża w jednym z kierunków, a po wpisaniu np. 'D' zmieni kierunek. |
|
michal11 |
» 2016-12-07 19:15:16 To zależy jak piszesz tego snake'a. Jakiej biblioteki używasz? |
|
Gibas11 |
» 2016-12-07 19:59:38 Funkcja kbhit ci się do tego przyda, sprawdza czy ktoś coś kliknął i jeśli tak zwraca true . Masz to w #include <conio.h> , zakładając że używasz Windowsa. Jeśli masz Linuksa czy innego Uniksa możesz zaimplementować kbhit sam, przykład masz poniżej.
while( true ) { snek.idz(); if( kbhit() ) { char c = getch(); if( c == 'd' ) { snek.skrec( snek::lewo ); } } }
int kbhit( void ) { int ch = getch(); if( ch != ERR ) { ungetch( ch ); return 1; } else { return 0; } }
//edit: I dla jasności, bo widzę niektórzy czasem się nie domyślają, kod powyżej to przykład a Ctrl+C i Ctrl+V w IDE zaowocują błędem, masz się tym tylko zainspirować. Chociaż to drugie jest prawie k, wystarczy że zainicjujesz ncurses w odpowiednim miejscu i powinno być ok. |
|
NukeeMann Temat założony przez niniejszego użytkownika |
» 2016-12-07 20:26:58 Jednak dalej nie rozumiem tego. Jakiś prostszy sposób? |
|
« 1 » |