【发布时间】:2021-04-23 13:00:36
【问题描述】:
所以我得到了一个第一学期的项目来制作刽子手、井字游戏和蛇梯游戏(在命令行上),并且在玩游戏时还显示一个计时器,作为初学者,我不知道如何显示计时器和使用什么......请在这方面提供帮助。
【问题讨论】:
标签: c++ multithreading c++14 sleep chrono
所以我得到了一个第一学期的项目来制作刽子手、井字游戏和蛇梯游戏(在命令行上),并且在玩游戏时还显示一个计时器,作为初学者,我不知道如何显示计时器和使用什么......请在这方面提供帮助。
【问题讨论】:
标签: c++ multithreading c++14 sleep chrono
您可以使用std::chrono 来显示时间。下面给出了测量时间的示例代码:
#include <chrono>
#include <stdio.h>
#include <unistd.h>
int main()
{
auto CurrentFrameStartTime = std::chrono::steady_clock::now();
auto CurrentFrameStopTime = std::chrono::steady_clock::now();
std::chrono::duration<double> currentFrameTime = CurrentFrameStopTime - CurrentFrameStartTime;
while(1)
{
CurrentFrameStopTime = std::chrono::steady_clock::now();
std::chrono::duration<double> currentFrameTime = CurrentFrameStopTime - CurrentFrameStartTime;
auto hr = std::chrono::duration_cast<std::chrono::hours>(currentFrameTime);
auto min = std::chrono::duration_cast<std::chrono::minutes>(currentFrameTime);
auto sec = std::chrono::duration_cast<std::chrono::seconds>(currentFrameTime);
auto msec = std::chrono::duration_cast<std::chrono::milliseconds>(currentFrameTime);
printf("%d:%d:%d.%d have passed\n", hr, min%60, sec%60, msec%1000);
usleep(1000);
}
return 1;
}
【讨论】: