C++ std::cin który nie czeka na wpis / enter...

0

Witam :)
Czy jest jakiś prosty sposób na to, aby std::cin >> nie czekał na klawiaturę (enter) ?

Robię quiz i bardzo bym tego potrzebował...
(bez tego to lipa)

Chodzi mi o coś takiego:
...
int zmienna;
std::cin >> zmienna; //chciałbym aby ten cin nie czekał na enter, a po wybudzeniu (sleep) program poszedł dalej...
Sleep(2000);
...

Szukałem tego, ale nie znalazłem. Albo czy jest jakiś inny sposób na to, aby na odpowiedź w quizie był ograniczony czas ?
Dobrze znam angielski, c++ znam dobrze ale tylko podstawy...
Dzięki i pozdrawiam :)

0

Jeśli to Linux to spróbuj przełączyć terminal w tryb niekanoniczny zanim cokolwiek zaczniesz odczytywać ze stdin. Zerknij na: https://www.gnu.org/software/libc/manual/html_node/Canonical-or-Not.html

0

Jednak to windows....

Ze wszystkim sobie praktycznie poradziłem.
Jest wybór z dwóch losowych kategorii.
Jest wybór poziomu trudności.
Zostało mi tylko tworzyć pytania no i ten ograniczony czas na odpowiedź...

Jak sobie z tym nie poradzę, to pewnie porzucę ten projekt i wrócę do tekstowej gry wyboru.
Taki mini textowy dungeon crowler (że tak sobie pozwolę na prywatę) ;-)

0

Chyba znalazłem rozwiązanie,
polega ono na tym że mierzy się czas
od momentu wyświetlenia pytania
do momentu odpowiedzi
(wszystko mierzone w sekundach)
i po wybraniu odpowiedzi
dowiadujemy się czy zmieściliśmy się w czasie.
Uff
Innego prostego sposobu chyba nie ma...

Jak ktoś będzie potrzebował detale, to podam.
Na razie implementuję kod który znalazłem i który działa,
do mojego quizu...
Pozdrawiam :)

0

Jest jakiś konkretny powód dla którego chcesz to robić w konsoli?
Robiąc to "okienkowo" możesz użyć timera, który da Ci możliwość wyświetlania na bieżąco pozostałego czasu oraz odpalenia odpowiedniej funkcji po jego upływie. Na dodatek nie trzeba się bawić z walidacją tego co wklepie użytkownik, bo ma do wyboru ni mniej ni więcej tylko X przycisków. No i zawsze to przyjemniejsze dla oka ;)

0

Główny powód to taki, że bardzo dobrze czuję się (jeśli chodzi o umiejętności) w tej konsolowej wersji...
A przy okazji wszystko ma taki retro klimacik ;)

Chciałbym kiedyś z czymś trafić na Steam (choćby z czymś darmowym). Jest tam mało takich textówek, ale parę widziałem. :)

A tą okienkową wersję może kiedyś ogarnę. ;)

0

Może jakiś non blocking getch i budowanie ciągu z pojedynczych znaków?

0
pablo82 napisał(a):

Główny powód to taki, że bardzo dobrze czuję się (jeśli chodzi o umiejętności) w tej konsolowej wersji...
A przy okazji wszystko ma taki retro klimacik ;)

Nic nie stoi na przeszkodzie, żeby Twój program był jednym wielkim text-edit stylizowanym na konsolę :)

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