机器人二分猜数游戏C++

这个游戏主要就是随机后,产生一个范围内的数,然后在规定的次数中让玩家猜数,还可以设置不同困难,不同次数
那么,一个游戏就玩成了


#include<bits/stdc++.h>
#include<windows.h>
#include <conio.h>
using namespace std;
string s="二分猜数游戏\n作者:Accteped\n",nd;
int jminn=0,pminn=0,nminn=0,csc;
int pc=3;
void sc(string s){
	int sum=s.size();
	for(int i=0;i<sum;++i){
		cout<<s[i];
		Sleep(100);
	}
}
void sleep(){
	cout<<"加载中";	
	for(int i=0;i<3;++i){
		cout<<'.';Sleep(1000);
	}
}
void dd(int a){
	Sleep(a);
}
void qp(){
	system("cls");
} 
int main(){
	srand(time(0));
	sc(s); 
	cout<<"按k键开始";
	a:
	char c=_getch();
	if(c!='k')goto a;
	qp();
	sleep();
	qp();
	cout<<"程序加载完成!";
	dd(1000);
	cw:
	qp(); 
	sr:
	cout<<"请输入范围(格式:a 100<=范围<=10000)"<<endl;
	int a;
	cin>>a;
	if(a>=1000){
		pc=100;csc=8;
	}
	if(a<200&&a>=150){
		pc=5;csc=6;
	}
	if(a>200&&a<1000){
		pc=10;csc=7;
	}
	if(a>=100&&a<150){
		pc=4;csc=6;
	}
	if(a<100||a>10000){
		qp();
		cout<<"输入错误!";
		dd(1000); 
		qp();
		goto sr;
	}
	int ans=rand()%a+1,dans,cs;
	z:
	qp();
	cout<<"1.简单("<<csc<<"次)\n2.普通("<<csc-1<<"次)\n3.困难("<<csc-2<<"次)\n0.重玩\n";
	char d=_getch();
	switch(d){
		case '1':cs=csc;nd="简单";break;
		case '2':cs=csc-1;nd="普通";break;
		case '3':cs=csc-2;nd="困难";break;
		case '0':goto cw;break;
		default:cout<<"输入错误!";goto z;
	}qp();
	bool sl=0;
	while(cs>0){
		cout<<nd<<":\n开始猜数(范围1~"<<a<<",偏差"<<pc<<")\n";
		cout<<"次数剩余:"<<cs<<endl;
		cin>>dans;
		cout<<"你猜的数是:"<<dans;
		if(abs(dans-ans)<=pc||dans==ans){
			sl=1;
			break;
		}else if(dans<ans){
			cout<<"猜错了\n小了";
			dd(2000);
		}else if(dans>ans){
			cout<<"猜错了\n大了";
			dd(2000);
		}qp();cs--;
	}
	qp();
	if(sl){
		system("color 18");
		cout<<"恭喜你答对了!\n机器人猜的数是"<<dans<<"\n你的得分:"<<cs;
		if(cs>jminn&&nd=="简单"){
			jminn=cs;
		}
		if(cs>pminn&&nd=="普通"){
			pminn=cs;
		}
		if(cs>nminn&&nd=="困难"){
			nminn=cs;
		}
		if(nd=="简单")cout<<nd<<"\n最高得分:"<<jminn;
		if(nd=="普通")cout<<nd<<"\n最高得分:"<<pminn;
		if(nd=="困难")cout<<nd<<"\n最高得分:"<<nminn;
		cout<<"\n按c重玩 按0退出";
		char t=getch();
		if(t=='c'){
			system("color 0F");
			goto cw;	
		}
		if(t=='0'){
			system("color 0F");
			qp();
			cout<<"欢迎下次再来!"; 
			Sleep(2000);
			system("pause>nul");
			exit(0);
		}
	}
	cout<<"失败!机器人猜的数是:"<<ans<<"\n次数已用完!\n0.重玩\n1.退出\n"; 
	Sleep(2000);
	char b=getch();
	if(b=='0')goto cw;
	if(b=='1') {
		qp();
		cout<<"欢迎下次再来!"; 
		system("pause>nul");
		exit(0);
	}
	cout<<ans;
}

这个游戏本来可以做的很短,但我加了很多别的内容

所以有很多行

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值