#include <iostream>
#include <ctime>
#include <cstdlib>
#include <chrono>
#include <thread>
using namespace std;
int main()
{
do
{
int stime;
cout<<"请输入游戏的时间限制(秒):";
cin>>stime;
cout<<"猜数字游戏开始!"<<endl;
cout<<"请在规定的时间内猜出数字,数字范围为1~10000"<<endl;
int count=0;
int number,guess;
//将当前系统时间作为随机种子传递给srand函数
//可以确保每次程序运行时都有不同的随机数序列生成
srand(static_cast<unsigned int>(time(nullptr)));
//生成一个数字范围为1~10000的随机数
number = rand() % 10000 + 1;
//获取当前的时间点,并将其存储在startTime变量中
auto startTime = std::chrono::steady_clock::now();
do{
cout<<"请输入您猜测的数字:";
cin>>guess;
if(guess<number)
cout<<"低了"<<endl;
else if(guess>number)
cout<<"高了"<<endl;
else
{
//获取当前的时间点,并将其存储在endTime变量中
auto endTime=std::chrono::steady_clock::now();
//计算两个时间点之间的时间间隔,并将其转换为以秒为单位的时间间隔表示
auto duration = std::chrono::duration_cast<std::chrono::seconds>(endTime - startTime);
if(duration.count() <=stime)
{
cout<<"恭喜!正确猜出数字:"<<number<<endl;
}
else
{
cout<<"很遗憾,未能在规定时间内猜出正确数字,该数字为:"<<number<<endl;
}
cout<<"请选择是否退出游戏(1是2否):";
int x;
cin>>x;
if(x==1)
{
cout<<"游戏结束"<<endl;
return 0;
}
else
break;
}
if((++count)==5)
cout<<"由于您猜错次数太多,提示您该数字的个位为:"<<number%10<<endl;
}while(1);
}while(1);
return 0;
}