我正在用C ++制作一个游戏,即hangman,其中输入每个字母作为输入我想给用户一个20秒的时间限制。在没有给出输入字母的那20秒内,程序以显示“Time is up”结束。 记住'在计时器运行时'我想给输入信。
这可能吗?
请通过代码实施帮助。
答案 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进行测试)。