DEV-c++可以运行的猜数游戏(3个难度,杠精来挑战吧,我赌你玩5次拿不到优秀)

首先讲解一下主要实现游戏的一个重要东西————

那就是生成“”随机数————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;
}

创作不易,点个赞吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值