[C++] Köra en loop samtidigt man väntar på Enter

Permalänk
Medlem

[C++] Köra en loop samtidigt man väntar på Enter

Är en ganska mycket nybörjare när det gäller C++, och har nu kommigt till det stadiet då man vill testa göra ett simpelt snake eller liknande.
Men som titeln säger så skulle jag villja lära mig hur man kör t.ex. en loop som man vill ska avbrytas när man trycker ner, i detta fallet, enter.

Om man gör så här så måste man ju trycka ner någon tangent för att loppen ska fortsätta.

int key;
while(key != 27)
{
cout << "Ho ho ho, här kommmer Palle Kuling med godis";
key = getch();
}

Jag hoppas ni fattar vad jag menar

Visa signatur

"Sleep is one of those funny things about being a human being" - Marshall Brain
"Mike broke the hubble, Mike broke the hubble" - Mystery Science Theater 3000
"Det finns inget som kan kallas skrot!" säger Mulle Meck, "bara gamla saker som går att använda på nya sätt. Rulla ut och rulla på."

Permalänk
Medlem

Re: [C++] Köra en loop samtidigt man väntar på Enter

Citat:

Ursprungligen inskrivet av Power
Är en ganska mycket nybörjare när det gäller C++, och har nu kommigt till det stadiet då man vill testa göra ett simpelt snake eller liknande.
Men som titeln säger så skulle jag villja lära mig hur man kör t.ex. en loop som man vill ska avbrytas när man trycker ner, i detta fallet, enter.

Om man gör så här så måste man ju trycka ner någon tangent för att loppen ska fortsätta.

int key;
while(key != 27)
{
cout << "Ho ho ho, här kommmer Palle Kuling med godis";
key = getch();
}

Jag hoppas ni fattar vad jag menar

Jag antar att du skriver programmet för Windows. Då kan du använda GetAsyncKeyState() som finns i windows.h

#include <iostream> #include <windows.h> int main() { int a = 0; while(1) { if(GetAsyncKeyState(VK_RETURN)) break; ++a; std::cout << a << std::endl; } }

Visa signatur

Vill du ha svar? Citera mig gärna.

Permalänk
Medlem

Man tackar

Visa signatur

"Sleep is one of those funny things about being a human being" - Marshall Brain
"Mike broke the hubble, Mike broke the hubble" - Mystery Science Theater 3000
"Det finns inget som kan kallas skrot!" säger Mulle Meck, "bara gamla saker som går att använda på nya sätt. Rulla ut och rulla på."