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

Odpowiedz Nowy wątek
2019-01-11 15:12
pablo82
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 :)

Pozostało 580 znaków

2019-01-11 15:45
Lampart
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/[...]ml_node/Canonical-or-Not.html

Pozostało 580 znaków

2019-01-11 15:48
0

Poczytaj tutaj: https://stackoverflow.com/que[...]r-a-particular-amount-of-time


Pozostało 580 znaków

2019-01-11 15:51
pablo82
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ę) ;-)

Pozostało 580 znaków

2019-01-11 17:38
pablo82
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 :)

Pozostało 580 znaków

2019-01-11 18:02
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 ;)

Pozostało 580 znaków

2019-01-11 18:16
pablo82
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ę. ;)

Pozostało 580 znaków

2019-01-11 19:05
0

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

Pozostało 580 znaków

2019-01-14 13:29
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ę :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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

Robot: CCBot