Non blocking getch()

Non blocking getch()

本文关键字:getch blocking Non      更新时间:2023-10-16

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

这正是您想要的:

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

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

假定Windows和Microsoft Visual C++。

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