gpt4 book ai didi

c - 等待输入最多 X 时间,然后继续执行程序?

转载 作者:行者123 更新时间:2023-11-30 17:38:21 26 4
gpt4 key购买 nike

您好,我正在用 C 语言创建一个游戏。

我希望每 0.1 秒打印一帧。在此期间,用户可能会也可能不会使用getch()进行输入。

如何编写这样的程序?这是我可以为你们提供的工作内容。

do{
usleep(100000); // simple 100 mili second delay
if (getch()==32) (ASCII for a space) // may or may not be inputed in 0.1 second timeframe.
playerJumps;
// even if user inputs early, I still want game printed exactly every 0.1 sec not sooner/later.
printGame;
}while(notDead);

我真的希望我的代码保持良好和清晰

最佳答案

我以前做过这个,你必须谈谈你所在的平台。所有 C 库输入函数都会阻塞等待输入。一种方法是使用线程——一个线程 block 处理用户输入,另一个线程 block 执行游戏,当有输入时它会收到输入线程的通知。另一种方法是在linux上使用像poll()这样的函数,我相信这就是我使用的,它们基本上允许你指定一个等待时间,或者只是尝试查看是否有输入,如果有则立即返回t。虽然我认为 select() 也应该可以工作,而且我认为这应该是相对跨平台的。

关于c - 等待输入最多 X 时间,然后继续执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22158181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com