
C++ Vstup jenž nepausne cyklus
Dobrý den, není nějaký příkaz jenž by reagoval na zmáčknutí klávesy a přitom napausnul cyklus? Napadá mě momentálně použít SDL, ale jako amatér začátečník si aktuálně nechci rozdělávat "sekci jenž bych jsem se musel učit" . Předem děkuji za odpovědi.
Neblokovací vstup z konzole? Zapomeň.
Leda by sis udělal thread, který čte konzoli a předával si to do hlavního threadu programu (třeba přes Observer).
A neexistuje nějaký příkaz jenž by po určitém čase vstup přeskočil?
Zkus zacit z druhe strany a poradne popsat, co vlastne chces udelat.
Dobrá, chci udělat kód ,jenž by se skládal z několika cyklů jenž by např. měnily barvu textu a přitom by se spouštěly nějaké zvukové efekty(tuto část už mám). Ale také chci abych kdykoliv mohl např. zmáčknutím num. 9 mohl změnit,či vypnout zvukové efekty nebo skončit cyklus.
např:
Cyklus(....)
{
sytem("color F9);
cout << "text";
"" vstup na zmáčknutí klavesy ""
if(...)
{
.....
}
cout << "konec";
V tom pripade to nedelej jako konzolovou aplikaci, tam totiz moc moznosti neni - neexistuje tam prijem zprav apod. Co ti brani osetrovat stisk klavesy v ramci cyklu? Muzes si zaregistrovat zpravy a reagovat na to, kdyz prijde zprava o stisku klavesy WM_KEYPRESS (pak musis v cyklu vynutit obcas zpracovani zprav), muzes v cyklu pouzit API volani GetAsyncKeyState na zjisteni stisknute klavesy be cekani (opet je treba obcas nechat program zpracovat zpravy)...
Moc děkuji.
Asi jsem se zamiloval do funkce GetAsyncKeyState
Producent konzument.
https://en.wikipedia.org/wiki/Producer%E2%80%93con sumer_problem
Daj se vygooglit i celé kódy, pak stačí upravit producenta jako vstup z klávesnice.