繁体   English   中英

C ++等待输入

[英]C++ wait for input

我正在写一个类似于老派赛车手的基于终端的游戏,在该游戏中,您只能更改车道以避免障碍。 除了为改变车道而要求输入的部分之外,我已经能够对其他所有代码进行编码。 此功能应等待2秒钟等待输入,如果有输入,它将确定要更改为哪个通道。 cin>>input; 使程序无限期等待,并且由于某种原因getchar(); 不起作用。

我已经搜索并找到了它: 等待输入一段时间

我的问题是我没有<conio.h><curses.h><ncurses.h>所以我将无法使用getch(); <ncurses.h> 没有这些库文件,有什么办法可以使计算机执行此操作?

我还需要帮助来减少等待时间,以增加游戏的难度。 sleep(); 无法工作,因为未包含库文件,并且使用nanosleep();遇到麻烦nanosleep(); 但我希望每次必须输入播放器时都可以将时间间隔减少.1秒,直到仅输入.5秒。 有没有办法我也可以做到这一点?

与我现在拥有的相关的代码:

这是当前状态下的功能

这就是我为了使用kbhit();而使用的kbhit();

如果您想用自己的方式进行编码,则可以创建另一个处理输入的线程,主程序会在x时间后杀死该线程,并检查是否已创建条目。

C ++标准没有“等待X单位时间的输入”。 因此,您需要使用某些库或特定于操作系统的功能来实现此目的。 由于您已经提到过nanosleep ,您可能正在使用Linux,因此请安装ncurses并使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM