jezyk C. oczekiwanie na wciśnięcie klawisza

0

jest w jezyku C cos takiego jak w Pascalu "until keypressed"? chodzi o to,zeby petla sie wykonywała ale cały czas oczekiwała na wcisniecie klawisza, a po podaniu odpowiedniego klawisza przechodziła do "nastepnego kroku" tej pętli

0
do {
} while(getch());

Potrzebujesz nagłówka:

Pod Win:

#include <conio.h>

Pod Linuksem biblioteka ncurses.

0

@Spine, getch() to raczej ReadKey. kbhit() to jest KeyPressed.

0

a co oznacza "kolejny krok tej pętli". Napisz pseudokod.

0

teraz pętla wykonuje się dopiero po wciśnięciu klawisza, chce zeby wykonywała się cały czas

konkretnie na ekranie ma spadać losowo wybrana literka a uzytkownik musi wcisnąc ją na klawiaturze (nauka szybkiego pisania), gdy wcisnie odpowiednią literke, pojawia się następna spadająca

0

kbhit() w zupełności wystarczy, ale nie musi być w warunku pętli

robisz pętle while (1) {} w niej wywołujesz khbit() jeżeli jest taka sama literka jak ta co jest na ekranie (zmienna jakaś przechowywująca literkę) to usuwasz literkę z ekranu jeżeli nie to literkę opuszczasz niżej. jak naciśnie się esc (na przykład) to wtedy robisz break i wychodzisz z pętli (jednocześnie kończąc zabawę) podajesz wynik i wsjo.

0

ok, chyba trochę łapię, teraz moze banalne pytanie, ale jak porównać literę pobraną przez kbhit() z literą spadającą? np if( kbhit()==litera) ??? pierwszy raz romansuję z funkcją kbhit, aha i czy potrzebuję jakiejś biblioteki do niej?

0

if( kbhit()==litera) (...) czy potrzebuję jakiejś biblioteki do niej?

Na pewno potrzebujesz umiejętności czytania ze zrozumieniem i samodzielnego wyszukiwania informacji w internecie...

0

Dzięki za trafne spostrzeżenie, ale może jest ktoś, kto mi to krótko objaśni

0

trzeba używać googli jeżeli chcesz być programistą.
http://cpp0x.pl/kursy/Kurs-C++/Obsluga-klawiatury-za-pomoca-conio-h/320

0

kbhit() zwraca int, odpowiednio: 1 gdy jakiś przycisk jest naciśnięty oraz 0 gdy nie jest. Odpowiednik KeyPressed.
getch()/getchar() zwraca char, odpowiednik ReadKey.

Materiały dodatkowe:
http://cpp0x.pl/kursy/Kurs-C++/Obsluga-klawiatury-za-pomoca-conio-h/320
http://cpp.jcom.pl/lekcja5.php
Własna implementacja funkcji getch()

0

Akurat to, co zwraca kbhit() udało mi się znaleźć własnymi siłami (duma), bardziej chodziło mi o porównanie o które zapytałem, ale już wszystko gra. Dzięki z całego serca za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1