如何在每30秒工作一次的c ++中为我的游戏设置计时器?

时间:2019-01-22 07:49:21

标签: c++

我想在我的游戏中添加计时器。它每30秒工作一次,任何30秒后它应该再开始30秒。 每个玩家有30秒的回合时间,完成后只有3个30秒的包可以用来进行回合。如果他的包完成了,则是另一位玩家的回合。 我对此一无所知,也不知道如何在c或c ++中制作计时器。

2 个答案:

答案 0 :(得分:1)

如果您拥有boost,则boost::asio库为该问题提供了一种解决方案。例如,请参见此答案C++ Boost ASIO simple periodic timer?

答案 1 :(得分:1)

除了上面的答案:)如果您想要一个简单方便的解决方案,则可能会帮忙

#include <ctime>
#include <cstdlib>
int main()
{

    clock_t startTime = clock(); //Start timer
    double secondsPassed;
    double secondsToDelay = 30;
    std::cout << "Time to delay: " << secondsToDelay << std::endl;
    bool flag = true;
    while (flag)
    {
        secondsPassed = (clock() - startTime) / CLOCKS_PER_SEC;
        if (secondsPassed >= secondsToDelay)
        {
            std::cout << secondsPassed << " seconds have passed" << std::endl;
            flag = false;
        }
    }
}