问题
I'm trying to make Tetris game in standard console. I need non-blocking getch(), so the blocks can fall without pressing any key. It would be nice to have function that returns -1 if no key pressed, otherwise the key code.
回答1:
It's operating system specific but your library probably has a function called kbhit() or similar that will do this
回答2:
This is exactly what you wanted:
int getch_noblock() {
if (_kbhit())
return _getch();
else
return -1;
}
Basically kbhit()
does the job of determining if a key is pressed.
Assumes Windows and Microsoft Visual C++.
来源:https://stackoverflow.com/questions/11472043/non-blocking-getch