#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
string name,amt="";
bool f[10],___=false;
int cnt_SJB=0;
void print(string s,int spd){
	for(int i=0;i<s.size();++i){
		cout<<s[i];
		Sleep(spd);
	}return;
}
void named(){
	print("Your name?\n",20); 
	getline(cin,name);
	print(name+"?\n",20);
	print("Are you sure?",20);
	cout<<"(1 or 0)\n";
	string ans;
	getline(cin,ans);
	if(ans=="1"){
		system("cls");
		print("OK",1000);	
	}
	else {
		system("cls");
		print("Now,try again...",20);
		named();
	}
	
}
void GN(){
	system("cls");
	print("Guess number !!!\n",20);
	print("Choose ",50);
	print("1~20\n",20);
	int ans;
	cin>>ans;
	system("cls");
	print("loading",10);
	queue<int> q;
	for(int i=1;i<=40;++i){
		cout<<'.';
		q.push((rand()-1)%20+1);
		Sleep(((rand()-1)%i+1)*(i%10));
	}Sleep(2000);
	system("cls");
	int cnt=0;
	while(!q.empty()){
		if(ans==q.front())++cnt;
		Sleep(200);
		cout<<q.front()<<' ';
		q.pop();
	}cout<<'\n';
	print(name+'\n',100);
	print("You got:\n",100);
	Sleep(1000);
	if(cnt==0&&!f[0]){
		f[0]=true;
		system("cls");
		print("Z!E!R!O!\n",500);
		print("You got:Unlcky Egg\n",300);
		amt+="-Unlcky Egg";
		print("Hellow "+name+amt+'\n',50);
	}
	else if(cnt>=5&&!f[1]){
		f[1]=true;
		system("cls");
		printf("%d!!!\n",cnt);
		print("You got:Luck King\n",300);
		amt+="-Luck King";
		print("Hellow "+name+amt+'\n',50);
	}
	else printf("%d\n",cnt);
	print("Try again?",50);
	cout<<"(1 or 0)\n";
	cin>>ans;
	if(ans)GN();
}
void SJB(){

	system("cls");
	print("Shitou Jiandao Bu!\n",30);
	printf("1.Shitou 2.Jiandao 3.Bu\n");
	int t=(rand()-1)%3+1;
	string ans;
	if(!___)cin>>ans;
	if(ans=="2026_07_24")
		___=true;
	if(___||ans=="1"||ans=="2"||ans=="3"){
		int _ans;
		cout<<t<<'\n';
		if(!___)_ans=stoi(ans);
		if(___)cin>>_ans;
		if(_ans==t%3+1){
			print("You lose\n",20);
			cnt_SJB=0;
		}else if(_ans==t)
			print("They are the same\n",20);
		else{
			print("You win!\n",20);
			++cnt_SJB;
		}
	}
	if(!f[2]&&cnt_SJB==10){
		f[2]==true;
		system("cls");
		print("You have won TEN times!!\n",300);
		print("You got:",50);
		Sleep(1000);
		print("会子手\n",50);
		printf("(由Z某人提供灵感)\n");
		amt+="_会子手";
		print("Hellow "+name+amt+'\n',50);
	}
	print("Try again?",50);
	cout<<"(1 or 0)\n";
	cin>>ans;
	if(ans=="1")SJB();
	
}
void play(){
	system("cls");
	print("Choose games that you want to play\n",50);
	print("0.Stop playing\n",30);
	print("1.Guess number\n",30);
	print("2.Shitou Jiandao Bu\n",30);
	int ans;
	cin>>ans;
	if(ans==0)return;
	if(ans==1)GN();
	if(ans==2)SJB();
	play();
}
int main(){	

	
	srand((unsigned)time(NULL));
	
	system("pause");
	named();
	play();
	system("pause");
	
 return 0;
}