如何在C ++中插入加速时钟?

时间:2014-06-23 14:02:21

标签: c++ timer clock

我需要一个显示加速时间的时钟。也就是说,在该时钟中100毫秒的实时时间= 1分钟的程序时钟或类似的东西。

基本上我想模拟足球比赛。所以我需要一个时钟,每次从0开始运行到90分钟。但是现实世界的90分钟太长了,我需要加快时间。

此外,我每次运行时都需要显示时钟。

我不熟悉从系统播种时间和使用clock()等函数的方法。

1 个答案:

答案 0 :(得分:3)

this answer所述,您可以使用计时器事件来睡一段时间。您需要将您的睡眠持续时间映射到实际时间,例如,如果您的线程休眠1秒钟,则代表1分钟的播放时间。

使用此投射,您可以确保90秒的模拟时间代表90分钟的游戏时间。

一些伪代码可以帮助您入门:

count = 1
interval = 1
max_time = 90
while true        
    if count++ == max_time
        break
    end

    perform_simulation_function()

    sleep interval
end