最强大脑10季《闪电心算》C++代码实现

#include <bits/stdc++.h>
#include <windows.h>
#include <fstream>
#define int long long
using namespace std;
int se,figure,number_num;
int yunsuan;
void point_set(bool boolnum){
	HANDLE hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO cInfo{};
	GetConsoleCursorInfo(hOutput, &cInfo); //获取现有光标信息
	cInfo.bVisible = boolnum; //false为隐藏窗口,true为显示窗口
	SetConsoleCursorInfo(hOutput, &cInfo);  //重新设置光标信息
	return;
}
void chose_mode(){
	cout<<"请选择计算位数:1位(1),2位(2),3位(3),4位(4),5位(5)";
	cin>>figure;
	cout<<"请选择计算限时:0.5s(5),0.7s(7),1.0s(10),1.5s(15),1.7s(17)";
	cin>>se;
	cout<<"请选择数字数量";
	cin>>number_num;
	cout<<"请选择:单脑(1),双脑(2)";
	cin>>yunsuan;
	return;
}
using namespace std;
signed main(){
//	point_set(false);
//	SetConsoleTitle("启动");
//	srand(time(NULL));
//	double activate_num = 0;
//	while(activate_num<100){
//		double t=rand()%100/100.0+0.07;
//		activate_num+=t;
//		//Sleep(1);
//		cout<<fixed<<setprecision(2);
//		cout<<"启动中:  "<<activate_num;
//		system("cls");
//	}
//	activate_num=100;
//	cout<<activate_num;
//	system("cls");
//	cout<<"启动成功";
//	system("cls");
//	Sleep(2000);
//	AllocConsole();
	int sum,ans;
//	bool flag=false;
	ofstream fon;
	ifstream fin;
	fin.open("正确率.txt");
	fin>>sum>>ans;
	fin.close();
	srand(time(NULL));
	SetConsoleTitle("闪电心算-无计时");
	cout<<"如想要清档,请输入empty。";
	cout<<"\n您的存档:正确率"<<sum*100.0/ans<<"%";
	string tmpstr;
	point_set(true);
	cin>>tmpstr;
	point_set(false);
	if(tmpstr=="empty"){
		
		fon.open("正确率.txt");
		fon<<0<<" "<<0;
		fon.close();
		cout<<"清档成功\n程序结束";
		return 0;
	}
	Sleep(2000);
	system("cls");
	while(true){
		point_set(true);
		int trueth_number =0,player_number,player_number_,trueth_number_ =0;
		chose_mode();
		point_set(false);
		system("cls");
		int munder=(pow(10,figure)-1);
		for(int i=1;i<=number_num;i++){
			int t=rand()%munder+1,t_=rand()%munder+1;
			int s=rand()%2,s_=rand()%2;
			if(s) t*=-1;
			if(s_) t_*=-1;
			while((0-t)>trueth_number){
				t=rand()%munder+1;
				s=rand()%2;
				if(s==0) t*=-1;
			}
			while((0-t_)>trueth_number){
				t_=rand()%munder+1;
				s_=rand()%2;
				if(s_==0) t_*=-1;
			}
			cout<<t;
			if(yunsuan==2){
				cout<<"   |"<<t_;
			}
			Sleep(se*100-50);
			system("cls");
			trueth_number+=t;
			trueth_number_+=t_;
		}
		point_set(true);
		cout<<"请作答";
		cin>>player_number;
		if(yunsuan==2){
			cin>>player_number_;
		}
		if(yunsuan==1){
			if(player_number==trueth_number){
				cout<<"正确\n";
				sum++;
			}
			else{
				cout<<"错误";
			}
		}
		else{
			if(player_number==trueth_number&&player_number_==trueth_number_){
				cout<<"正确\n";
				sum++;
			}
			else{
				cout<<"错误";
				if(player_number==trueth_number) cout<<" 右脑错误";
				else cout<<" 左脑错误";
			}
		}
		ans++;
		if(yunsuan==1){
			cout<<"正确答案"<<trueth_number<<endl;
		}
		else{
			cout<<"正确答案"<<trueth_number<<"   |"<<trueth_number_;
		}
		
//		if(flag) break;
		point_set(false);
		Sleep(2000);
		system("cls");
		system("color 4F");
		cout<<"正确率:"<<sum*100.0/ans<<"%";
		Sleep(2000);
		system("cls");
		system("color 07");
		cout<<"Do it again!!";
		Sleep(1100);
		system("cls");
		fon.open("正确率.txt");
		fon<<sum<<" "<<ans;
		fon.close();
//		if(flag) break;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值