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