#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季《闪电心算》C++代码实现
最新推荐文章于 2025-04-12 22:59:44 发布