我目前正在用“C”开发一款赛车游戏。我有一个始终处于循环状态的过程函数,直到 game_over 设置为 true。在 process 功能中,我有一个功能可以测试汽车是否停在加油站旁边,一旦停好,汽车就会停下来并恢复燃油。
我想知道自从汽车停下来加油后我如何计算 3 秒,然后让游戏在这 3 秒后继续。
我已经尝试将当前时间存储在一个变量中并在该值上添加“3 秒”,并等待时间达到此时间再继续。这显然不起作用,因为循环会不断更新当前时间。
if (fuel_stop_left() || fuel_stop_right()) {
fuelRemaining = 10000;
acceleration = 0;
}
最佳答案
clock_t begin;
double time_spent;
unsigned int i;
/* Mark beginning time */
begin = clock();
for (i=0;1;i++)
{
printf("hello\n");
/* Get CPU time since loop started */
time_spent = (double)(clock() - begin) / CLOCKS_PER_SEC;
if (time_spent>=3.0)
break;
}
我猜这段代码应该可以帮助您解决问题。不要忘记在代码开头 #include time.h。
关于在 while 循环中计数 3 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50578044/