非阻塞getch()

时间:2012-07-13 14:03:10

标签: c++ getch

我正在尝试在标准控制台中制作俄罗斯方块游戏。我需要非阻塞getch(),因此块可以在不按任何键的情况下掉落。如果没有按下键,则返回-1的函数会很好,否则键码。

2 个答案:

答案 0 :(得分:13)

这正是你想要的:

int getch_noblock() {
    if (_kbhit())
        return _getch();
    else
        return -1;
}

基本上kbhit()负责确定是否按下某个键。

假设Windows和Microsoft Visual C ++。

答案 1 :(得分:7)

它是特定于操作系统的,但是您的库可能有一个名为kbhit()的函数或者类似的函数