如何在C ++程序中添加计时器

时间:2014-06-03 06:50:36

标签: c++ timer

我正在用C ++制作一个游戏,即hangman,其中输入每个字母作为输入我想给用户一个20秒的时间限制。在没有给出输入字母的那20秒内,程序以显示“Time is up”结束。 记住'在计时器运行时'我想给输入信。

这可能吗?

请通过代码实施帮助。

1 个答案:

答案 0 :(得分:0)

如果您的平台有conio.h可用且您的编译器支持C ++ 11(包括<chrono>),您可以这样做:

#include <iostream>
#include <chrono>
#include <conio.h>

int main(int argc, char* argv[]){
  std::chrono::time_point<std::chrono::system_clock> start;
  start = std::chrono::system_clock::now(); /* start timer */
  while(true){
    __int64 secondsElapsed = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now()-start).count();
    if(secondsElapsed >= 20){ /* 20 seconds elapsed -> leave main lopp */
      break;
    }
    if(_kbhit()){ /* keypressed */
      char c = _getch(); /* get character */
      std::cout << c; /* output character to stdout */
    }
  }
  return 0;
}

经过20秒后,程序终止 - 直到那时,您可以在控制台窗口中输入字符(在Windows 7上使用Visual Studio 2012进行测试)。

另请参阅_kbhit()_getch()<chrono>的文档。