首先讲解一下主要实现游戏的一个重要东西————
那就是生成“伪”随机数————srand(time(0));
为啥是伪呢。
主要是人们还没能力做真正的随机数。
那我们现在的随机数其实是使用我们时间种子快速移动而的来的随机数,后果就是导致很多东西没法验证实行。
不过没关系,游戏还是能做的,废话不多说,上代码
#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
void daojishi1(int n)
{
while(n<=100)
{
printf("%-2d\r",n);
fflush(stdout);
Sleep(75.712);//加载速度
n++;
}
printf("\n");
}
void daojishi2(int n)
{
while(n<=100)
{
printf("%-2d\r",n);
fflush(stdout);
Sleep(95.567);//加载速度
n++;
}
printf("\n");
}
void daojishi3(int n)
{
while(n<=100)
{
printf("%-2d\r",n);
fflush(stdout);
Sleep(135.306);//加载速度
n++;
}
printf("\n");
}
void yunsuan(int g)
{
while(g<=100)
{
printf("%-2d\r",g);
fflush(stdout);
Sleep(30);
g++;
}
printf("\n");
}
int main()
{
char nandu;
int sum=0;
int ans,guess;
srand(time(0));///最终要的东西,用来产生伪随机数///
cout <<"这是一个猜数游戏!"<<endl;
Sleep(1000);
cout <<"你要选择低难度(d)还是高难度(a)还是地狱难度(s)?"<<endl;
cout <<"提示:低难度的数在101以内,高难度的数在2001以内,地狱难度的数在30001以内。"<<endl;
cin>>nandu;
switch(nandu)//用Switch实现按键操作
{
case'd':
ans=rand()%100+1;//猜数的难度中的范围
break;
case'a':
ans=rand()%2000+1;//猜数的难度中的范围
break;
case's':
ans=rand()%30000+1;//猜数的难度中的范围
break;
}
cout <<"好的,我知道了,正在为你调整难度和随机数,加载中..."<<endl;
cout <<"提示:调整难度和随机数的加载时间跟难度有关"<<endl;
if(nandu=='d')
{
daojishi1(0);
}
else if(nandu=='a')
{
daojishi2(0);
}
else if(nandu=='s')
{
daojishi3(0);
}
cout <<"加载成功,请猜数吧!"<<endl;
cout <<"请输入你猜的数字___"<<endl;
do
{
cin>>guess;
if(guess<ans)
{
cout <<"小了。"<<endl;//范围
sum++;
}
if(guess>ans)
{
cout <<"大了。"<<endl;//范围
sum++;
}
}
while(ans!=guess);
sum++;
cout <<"猜对了!!你真厉害!!!"<<endl;
cout <<"你一共猜了"<<sum<<"次"<<endl;
cout <<"来看看你的等级吧!!!"<<endl;
Sleep(1000);
cout <<"提示:每个不同的难度不同等级对应的猜数次数不一样哦!"<<endl;
cout <<"你的等级正在运算中"<<endl;
yunsuan(0);
if(nandu=='d')//通过sum来计算等级,不同难度不一样的计算方法
{
if(sum<=6)
{
cout <<"你的等级是:优秀";
}
else if(sum<=10&&sum>6)
{
cout <<"你的等级是:一般";
}
else
{
cout <<"你的等级是:不及格";
}
}
else if(nandu=='a')//通过sum来计算等级,不同难度不一样的计算方法
{
if(sum<=11)
{
cout <<"你的等级是:优秀";
}
else if(sum<=20&&sum>10)
{
cout <<"你的等级是:一般";
}
else
{
cout <<"你的等级是:不及格";
}
}
else if(nandu=='s')//通过sum来计算等级,不同难度不一样的计算方法
{
if(sum<=15)
{
cout <<"你的等级是:优秀";
}
else if(sum<=20&&sum>15)
{
cout <<"你的等级是:一般";
}
else
{
cout <<"你的等级是:不及格";
}
}
return 0;
}
创作不易,点个赞吧。