用c ++制作定时器?

psy*_*aut 10 c++ timer

我正在开发一个简单的c ++游戏,一个追逐点式的游戏,你必须在显示器上单击一个绘制的圆圈,然后每次点击都会跳转到另一个随机位置,但是我想让游戏在60之后结束大约几秒钟,将分数写入文本文件,然后启动从文本文件中读取的程序并将信息存储到数组中,并以某种方式重新排列以创建高分表.我想我可以弄清楚自己在某个区域的高分和鼠标点击,但我完全坚持创建一个可能的计时器.任何帮助赞赏,欢呼!

How*_*ant 19

在C++ 11中,可以轻松访问计时器.例如:

#include <chrono>
#include <iostream>

int main()
{
    std::cout << "begin\n";
    std::chrono::steady_clock::time_point tend = std::chrono::steady_clock::now()
                                               + std::chrono::minutes(1);
    while (std::chrono::steady_clock::now() < tend)
    {
        // do your game
    }
    std::cout << "end\n";
}
Run Code Online (Sandbox Code Playgroud)

您的平台可能支持也可能不支持<chrono>.有一个提升实施<chrono>.


c-s*_*ile 0

通常GUI程序有所谓的“消息泵”循环。检查该计时器应该是循环的一部分:

while(running)
{
  if( current_time() > end_time )
  {
    // time is over ...
    break;
  }
  if( next_ui_message(msg) )
    dispatch(msg); 
}
Run Code Online (Sandbox Code Playgroud)

  • 可能不会。您可能应该通过操作系统/框架创建一个计时器,并让它向您发送事件。 (5认同)