8

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

4

2 回答 2

16

这正是您想要的:

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

基本上kbhit()完成确定是否按下键的工作。

假定 Windows 和 Microsoft Visual C++。

于 2012-07-13T14:24:33.733 回答
9

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

于 2012-07-13T14:08:43.260 回答