• Bio

    #include<bits/stdc++.h>
    #include<string>
    #include<iostream>
    #include<windows.h>
    #define cs const string
    #define cd const double
    #define ci const int
    using namespace std;
    HANDLE G=GetStdHandle(STD_OUTPUT_HANDLE);
    void Set(int e){
    	SetConsoleTextAttribute(G,e);
    	return ;
    }
    struct phi{
    	double a,b,c,d,e;
    }C2,D2,E2,F2,G2,C3[14],G3[14];
    string A;
    int B,C,D,E,A4,B4,C4,E3,mood,counter=0,seed=time(0);
    int A1,B1,C1,D1,z1,place,type=1;
    int result,J,J1,J2,J3,J4;
    double A2,B2,z2=1,timeunit=250;
    double E1,F1,X1,Y1,X2,Y2;
    cs ele[14]={"水","火","雷","冰","草","风","岩","光","暗","毒","血","物理","虚数","量子"};
    cd AAA_C[11]={0.25,1.2,2,4,10,20,40,100,250,1000,2000};
    cd BBB_C[11]={0.05,0.06,0.12,0.4,0.6,1.5,4,10,25,50,100};
    cd CCC_C[11]={1,1.25,1.5,1.5,2,3,6,10,20,50,100};
    cd DDD_C[11]={0.01,0.01,0,0.02,0.08,0.2,0.25,0.5,1,3,5};
    cd AAA_E[11]={10,10,10,10,10,10,10,15,20,25,30};
    cd CCC_E[11]={1,1.05,1.1,1.2,1.25,1.5,2,2,2.5,4,5};
    cd AAA_D[11]={2,2,2,2,2.5,2.5,4,4,5,5,8};
    cd CCC_D[11]={1,1.2,1.25,1.5,2,2,2,2.5,3,4,5};
    cd AAA_F[11]={1,1,1,1,1,1,1,1,1.2,1.5,3};
    cd CCC_F[11]={1,1,1,1,1,1,1,1.25,1.5,2,2.5};
    cd AAA_G[11]={0.1,0.1,0.1,0.2,0.2,0.2,0.2,0.25,0.3,0.3,0.3};
    cd CCC_G[11]={1,1,1,1,1.1,1.2,1.25,1.5,2,2.5,3};
    cd AAA_CC[11]={1,2.5,5,7,10,15,25,40,50,60,80};
    cd CCC_CC[11]={1,2,3,4,5,6,10,15,20,30,50};
    cd AAA_GG[11]={1,0.9,0.8,0.75,0.65,0.6,0.5,0.4,0.3,0.15,0.08};
    cd CCC_GG[11]={1,0.9,0.8,0.75,0.65,0.6,0.5,0.4,0.3,0.2,0.1};
    cd zzz[11]={0.025,0.06,0.15,0.3,0.6,1,4,10,30,100,300};
    cd ca1[11]={4,2,4,5,10,10,20,30,30,25,40};
    cd ca2[11]={1,0.6,0,1,1.5,3,3,5,8,8,5};
    cd da1[11]={8,5,8,15,25,80,100,200,200,500,300};
    cd da2[11]={2,1,1,3,3,8,10,20,40,40,20};
    cd ea1[11]={40,15,40,50,100,100,400,500,1000,1000,1000};
    cd ea2[11]={1,0.8,0.2,1,3,8,6,15,40,40,20};
    cd fa1[11]={5,2,5,5,10,12,20,50,60,150,100};
    cd fa2[11]={1,0.6,0,1,1.5,3,5,8,20,20,10};
    cd ga1[11]={0.4,0.2,1,1,2,2,5,10,10,8,8};
    cd ga2[11]={1,0.6,0,1.5,2,5,5,12,20,20,15};
    cd Ca1[11]={6,8,4,3,5,7,6,2,1,1,2};
    cd Ca2[11]={5,3,2,1,1,3,2,1,2,1,1};
    cd Ga1[11]={5,2,1,1,1,1,1,1,1,1,1};
    cd Ga2[11]={5,2,1,1,1,1,1,1,1,1,1};
    cd cb1[11]={0.03,0.02,0.06,0.2,0.3,0.8,1.5,3,7.5,15,10};
    cd cb2[11]={0.3,0.3,0,0.5,1.5,5,6,15,40,75,30};
    cd db1[11]={0.1,0.05,0.15,0.5,0.8,5,8,20,40,180,100};
    cd db2[11]={0.8,0.6,0.6,2.5,3,9,20,50,200,500,300};
    cd eb1[11]={0.2,0.2,0.5,1,2,5,20,50,200,500,400};
    cd eb2[11]={0.4,0.5,0.2,1,3,10,12,40,200,400,200};
    cd fb1[11]={0.03,0.02,0.06,0.2,0.3,0.6,2,5,12,60,50};
    cd fb2[11]={0.3,0.3,0,0.5,1.5,5,8,25,100,200,100};
    cd gb1[11]={0.003,0.002,0.02,0.03,0.06,0.1,0.4,1,2,4,3};
    cd gb2[11]={0.3,0.3,0,1,2,6,10,30,120,250,200};
    cd Cb1[11]={4,6,6,8,15,40,40,20,20,30,20};
    cd Cb2[11]={3,3,3,3,3,15,12,10,20,30,20};
    cd Gb1[11]={2,2,2,4,3,8,5,6,15,10,8};
    cd Gb2[11]={2,2,2,4,3,8,5,6,8,10,8};
    cd cc1[10]={0.2,0.2,0.6,3,3,8,30,80,600,600};
    cd cc2[10]={0.2,0.2,0,0.5,0.8,3,3,8,25,40};
    cd dc1[10]={0.5,0.5,1.2,8,10,50,120,500,3000,8000};
    cd dc2[10]={0.4,0.3,0.3,1.5,1.5,5,10,30,120,200};
    cd ec1[10]={1.5,2,5,30,30,80,500,2000,12000,20000};
    cd ec2[10]={0.2,0.3,0.1,0.6,1.5,6,6,25,120,250};
    cd fc1[10]={0.2,0.2,0.6,3,3,10,30,120,1000,3000};
    cd fc2[10]={0.2,0.2,0,0.5,0.8,3,5,12,60,120};
    cd gc1[10]={0.02,0.02,0.15,0.5,0.8,1.5,8,25,150,200};
    cd gc2[10]={0.2,0.2,0,0.6,1,3,5,20,60,120};
    cd Cc1[10]={3,6,6,15,18,30,75,60,60,150};
    cd Cc2[10]={2,3,3,5,4,12,25,30,60,150};
    cd Gc1[10]={2,3,2,8,3,5,10,18,35,35};
    cd Gc2[10]={2,3,2,8,3,5,10,18,20,40};
    cd H11[10]={0,0.1,0.2,0.3,1,2,4,10,40,120};
    cd H12[10]={0,60,100,120,180,240,600,1200,2000,9000};
    cd H2[10]={0,5,15,30,120,400,2000,10000,60000,800000};
    cd H31[10]={0,0.1,0.2,0.25,0.5,1,3,6,20,80};
    cd H32[10]={0,15,25,40,100,180,240,600,3000,6000};
    cd H4[10]={0,1,3,8,30,100,400,3000,40000,300000};
    cd H5[10]={0,0.5,1.5,3,10,25,80,200,2000,10000};
    cd I[6]={0,1,1.5,4,3,1.5};
    int h[6][10];
    ci p1[12]={15000,95000,97500,99000,99500,99800,99900,99996,99999,100000};
    ci p2[5]={15000,95000,99000,99750,100000};
    ci p3[3]={5000,95000,100000};
    ci bj[11]={8000,10000,12000,15000,20000,25000,40000,50000,80000,100000,200000};
    ci ej1[11]={200,500,500,500,500,500,1000,2000,2500,10000,20000};
    ci ej2[10]={30000,60000,80000,100000,100000,150000,200000,300000,750000,2000000};
    ci q1[10]={0,36,72,120,168,243,318,498,750,10000};
    ci q2[10]={0,3,3,4,4,5,5,6,7,8};
    ci q3[10]={0,4,4,4,4,5,5,5,6,6};
    cd m1[12]={0.5,1,1.5,2,3,5,8,10,25,40,80,120};
    cd m2[5]={0.75,1,1.5,2,5};
    cd m3[3]={0.8,1,1.2};
    cd multiplier[11]={0.6,0.7,0.75,0.8,0.9,1,1.1,1.15,1.15,1.2,1.2};
    ci elecolor[14]={3,4,5,11,10,9,6,14,8,2,12,15,7,1};
    ci eleC3[14][14]={
    	{100,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 25},
    	{  0,100,  0,  0,  0,  0,  0, 40,  0,  0,  0,  0,  0,  0},
    	{  0,  0,100,  0,  0,  0,  0, 40,  0,  0,  0,  0,  0,  0},
    	{  0,  0,  0,100,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0},
    	{  0,  0,  0,  0,100,  0,  0,  0,  0,  0,  0,  0,  0,  0},
        {  0,  0,  0,  0,  0,100,  0,  0,  0,  0,  0,  0,  0,  0},
        {  0,  0,  0,  0,  0,  0,100,  0,  0,  0,  0, 50,  0,  0},
    	{  0,  0,  0,  0,  0,  0,  0,100,  0,  0,  0,  0, 25, 25},
        {  0,  0,  0,  0,  0,  0,  0,  0,100,  0,  0,  0,  0,  0},
        {  0,  0,  0,  0,  0,  0,  0,  0,  0,100,  0,  0,  0,  0},
    	{ 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,100,  0,  0,  0},
    	{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,100,  0,  0},
    	{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,100,  0},
    	{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 40,100}
    };
    ci eleG3[14][14]={
    	{100, 75, 40, 25, 20, 20, 30, 20, 20, 25, 35, 40, 30, 30},
    	{  5,100, 30,  0, 85, 15, 45, 30, 30, 20, 45, 35, 30, 30},
    	{ 15, 45,100, 20, 25, 20, 20, 40, 35, 20, 15, 35, 30, 30},
    	{ 50, 10, 65,100, 20, 20, 20, 20, 20, 25, 25, 45, 30, 30},
    	{ 75,  5, 20, 25,100, 20, 20, 55, 15, 10, 60, 35, 30, 30},
    	{ 35, 25, 25, 25, 35,100, 35, 25, 25, 20, 25, 30, 30, 30},
    	{ 15,  5, 30, 20, 25, 20,100, 25, 25, 40, 40, 55, 30, 30},
    	{ 30, 40, 40, 20, 10, 20, 20,100, 75, 20, 20, 35, 35, 35},
    	{ 20, 15, 15, 20, 45, 20, 20, 75,100, 20, 20, 40, 30, 30},
    	{ 15, 10, 10, 15, 70, 25, 25, 25, 35,100, 45, 40, 30, 30},
    	{ 30, 10, 15, 15, 10, 20, 20, 20, 25, 20,100, 50, 30, 30},
    	{ 35, 30, 30, 60, 40, 30, 55, 25, 25, 15, 15,100, 30, 30},
    	{ 25, 45, 45, 20, 25, 35, 20, 45, 35, 20, 25, 15,100, 35},
    	{ 30, 35, 35, 30, 25, 30, 20, 40, 40, 30, 25, 15, 40,100}
    };
    ci ttype[13][14]={
    	{  8, 15, 22, 29, 36, 43, 50, 57, 64, 71, 78, 85, 92,100},
    	{ 16, 22, 29, 34, 59, 66, 70, 73, 76, 80, 88, 96, 98,100},
    	{  0,  7, 14, 17, 17, 47, 71, 76, 81, 84, 87, 96, 98,100},
    	{  0, 12, 20, 20, 20, 40, 72, 80, 88, 90, 91, 98, 99,100},
    	{  5, 12, 22, 27, 30, 42, 57, 64, 71, 76, 80, 88, 94,100},
    	{ 15, 15, 20, 45, 45, 53, 55, 64, 73, 75, 77, 85, 93,100},
    	{ 15, 15, 15, 60, 60, 70, 70, 78, 86, 86, 86, 96, 98,100},
    	{ 20, 20, 25, 30, 75, 75, 75, 79, 83, 83, 83, 93, 97,100},
    	{ 10, 20, 29, 32, 42, 52, 60, 72, 84, 84, 84, 94, 97,100},
    	{  0, 40, 55, 55, 55, 60, 60, 75, 90, 90, 90,100,100,100},
    	{ 12, 12, 17, 17, 25, 33, 33, 43, 53, 78, 90,100,100,100},
    	{ 10, 15, 25, 25, 25, 35, 35, 45, 65, 65, 65, 80, 90,100},
    	{  0,  0,  0,  0,  0,  0,  0, 25, 50, 50, 50, 50, 75,100}
    };
    bool F=false,cheat=false,detail=false;
    string name,version="1.1.3";
    void sleep(int k){
    	Sleep(k*timeunit);
    	return ;
    }
    bool runnian(){
    	if(A4%400==0){return true;}
    	if(A4%100==0){return false;}
    	if(A4%4==0){return true;}
    	return false;
    }
    void date(int k){
    	C4+=k;
    	while(1){
    		switch(B4){
    			case(1):
    			case(3):
    			case(5):
    			case(7):
    			case(8):
    			case(10):
    			case(12):
    				if(C4>31){
    					C4=C4-31;
    					B4=B4+1;
    					continue;
    				}
    				return ;
    			case(4):
    			case(6):
    			case(9):
    			case(11):
    				if(C4>30){
    					C4=C4-30;
    					B4=B4+1;
    					continue;
    				}
    				return ;
    			case(2):
    				if(runnian()){
    					if(C4>29){
    						C4=C4-29;
    						B4=B4+1;
    						continue;
    					}
    				}else{
    					if(C4>28){
    						C4=C4-28;
    						B4=B4+1;
    						continue;
    					}
    				}
    				return ;
    		}
    	}
    	return ;
    }
    int ran(int rn,int rm){
    	long long ans=-1;
    	srand(seed);
    	seed++;
    	while(ans<rn){
    		ans=(rand()*1073741824+rand()*32768+rand())%(rm+1);
    		counter++;
    		if(counter>100){
    			srand(seed);
    			seed=seed+rand();
    			counter=0;
    		}
    	}
    	return ans;
    }
    double boost1(){
    	if(cheat){return 100000000;}
    	int i=0;
    	D=ran(1,100000);
    	while(D>p1[i]){i++;}
    	return m1[i];
    }
    double boost2(){
    	int i=0;
    	D=ran(1,100000);
    	while(D>p2[i]){i++;}
    	return m2[i];
    }
    double boost3(){
    	int i=0;
    	D=ran(1,100000);
    	while(D>p3[i]){i++;}
    	return m3[i];
    }
    void check(){
    	C2.c=C2.a*C2.b*C2.e;
    	D2.c=D2.a*D2.b*D2.e;
    	E2.c=E2.a*E2.b*E2.e;
    	F2.c=F2.a*F2.b*F2.e;
    	G2.c=G2.a*G2.b*G2.e;
    	for(int q=0;q<12;q++){
    		C3[q].c=C3[q].a*C3[q].b*C3[q].e;
    		G3[q].c=G3[q].a*G3[q].b/G3[q].e;
    	}
    	return ;
    }
    void printmoney(){
    	int a,b,c,d;
    	cout<<"金钱:";
    	a=z1/1000000000;b=z1%1000000000/1000000;c=z1%1000000/1000;d=z1%1000;
    	if(a!=0){Set(14);cout<<a<<"金币 ";}
    	if(b!=0){Set(15);cout<<b<<"银币 ";}
    	if(c!=0){Set(6);cout<<c<<"铜币 ";}
    	Set(8);cout<<d<<"铁币"<<endl;
    	Set(15);
    	return ;
    }
    double jy(int a1,int b1){
    	if(b1==10){
    		return ej2[a1];
    	}
    	double ans=bj[a1]+b1*ej1[a1];
    	return ans;
    }
    double gjy(int a2){
    	double ans=100*pow(2,-a2/800000.0)*boost1();
    	return ans;
    }
    void training(double k){
    	cout<<"1、提升等级  2、提升境界"<<endl;
    	cin>>B;
    	if(B==1){
    		double p=gjy(A2)*k;
    		A2+=p;
    		C2.a+=0.0001*ca1[A1]*boost1()*C2.d*k;
    		D2.a+=0.0001*da1[A1]*boost1()*D2.d*k;
    		E2.a+=0.0001*ea1[A1]*boost1()*E2.d*k;
    		F2.a+=0.0001*fa1[A1]*boost1()*F2.d*k;
    		G2.a+=0.0001*ga1[A1]*boost1()*G2.d*k;
    		for(int q=0;q<14;q++){
    			C3[q].a+=Ca1[A1]*boost1()*C3[q].d*k*eleC3[E][q]*0.000001;
    			G3[q].a-=Ga1[A1]*boost1()*C3[q].d*k*eleG3[E][q]*0.0000001;
    		}
    		check();
    		cout<<"你获得了"<<fixed<<setprecision(3)<<p<<"点经验"<<endl;
    		sleep(5);
    	}else if(B==2){
    		double p=gjy(B2)*k;
    		B2+=p;
    		C2.b+=0.00001*ca2[C1]*boost1()*C2.d*k;
    		D2.b+=0.00001*da2[C1]*boost1()*D2.d*k;
    		E2.b+=0.00001*ea2[C1]*boost1()*E2.d*k;
    		F2.b+=0.00001*fa2[C1]*boost1()*F2.d*k;
    		G2.b+=0.00001*ga2[C1]*boost1()*G2.d*k;
    		for(int q=0;q<14;q++){
    			C3[q].b+=Ca2[C1]*boost1()*C3[q].d*k*eleC3[E][q]*0.000001;
    			G3[q].b-=Ga2[C1]*boost1()*G3[q].d*k*eleG3[E][q]*0.0000001;
    		}
    		check();
    		cout<<"你获得了"<<fixed<<setprecision(3)<<p<<"点经验"<<endl;
    		sleep(5);
    	}else{
    		sleep(1);
    		cout<<"请重新输入 :)"<<endl;
    		sleep(3);
    		return ;
    	}
    	date(k);
    	return ;
    }
    struct shuxing{
    	int AA1,BB1,CC1,DD1,zz7,EE;
    	double CC2,DD2,EE2,FF2,GG2,XX2,YY2,CC3[14],GG3[14];
    }GG;
    int miss(){
    	double q=1.0-pow(2,-F2.c*1.0/GG.FF2);
    	return floor(10000*q);
    }
    int mmiss(){
    	double qq=1.0-pow(2,-GG.FF2*1.0/F2.c);
    	return floor(10000*qq);
    }
    double Max(double a,double b){
    	if(a>b){return a;}
    	return b;
    }
    void refresh(string k){
    	system("cls");
    	cout<<name<<"  生命:"<<X2<<"   法力:"<<Y2<<endl;
    	cout<<k<<"    生命:"<<GG.XX2<<endl;
    	return ;
    }
    int fight(string k){
    	double ddmg,dmg,ddmg1,ddmg2[14],dmg1,dmg2[14];
    	while(true){
    		refresh(k);
    		cout<<"敌方回合"<<endl;
    		sleep(1);
    		D=ran(1,10000);
    		ddmg=ddmg1=Max(GG.CC2-G2.c,0);
    		dmg=dmg1=Max((C2.c*boost1()-GG.GG2)*boost1()*z2,0);
    		for(int q=0;q<14;q++){
    			ddmg2[q]=Max(GG.CC3[q]*G3[q].c-G2.c,0);
    			dmg2[q]=Max((C3[q].c*GG.GG3[q]*boost1()-GG.GG2)*boost1()*z2,0);
    			ddmg+=ddmg2[q];
    			dmg+=dmg2[q];
    		}
    		if(D>miss()){
    			X2=X2-ddmg;
    			cout<<"你受到了"<<fixed<<setprecision(3)<<ddmg<<"点伤害"<<endl;
    			sleep(2);
    			if(detail){
    				for(int q=0;q<14;q++){
    					if(ddmg2[q]!=0){
    						Set(elecolor[q]);
    						cout<<ele[q]<<": "<<ddmg2[q]<<"点"<<endl;
    						sleep(1);
    					}
    				}
    				sleep(5);
    				Set(15);
    			}
    			cout<<"剩余生命值:"<<fixed<<setprecision(4)<<X2<<endl<<endl;
    			if(X2<=0){
    				return 1;
    			}
    		}else{
    			cout<<"你闪开了敌方的攻击"<<endl;
    			sleep(1);
    			cout<<"剩余生命值:"<<X2<<endl<<endl;
    		}
    		sleep(3);
    		refresh(k);
    		cout<<"己方回合"<<endl;
    		sleep(1);
    		D=ran(1,10000);
    		if(D>mmiss()){
    			cout<<"你对敌方造成了"<<dmg<<"点伤害"<<endl;
    			sleep(1);
    			if(detail){
    				for(int q=0;q<14;q++){
    					if(dmg2[q]!=0){
    						Set(elecolor[q]);
    						cout<<ele[q]<<": "<<dmg2[q]<<"点"<<endl;
    						sleep(1);
    					}
    				}
    				sleep(5);
    				Set(15);
    			}
    			GG.XX2=GG.XX2-dmg;
    			cout<<"敌方剩余生命值"<<GG.XX2<<endl;
    			sleep(2);
    			if(GG.XX2<=0){
    				return 2;
    			}
    		}else{
    			cout<<"敌方闪开了你的攻击"<<endl;
    			sleep(2);
    		}
    		Y2=Y2-0.05*z2*z2*(dmg1+0.01);
    		if(Y2<=0){
    			Y2=0.001*D2.c;
    			D=ran(0,1);
    			if(D==0){return 3;}else{return 4;}
    		}
    	}
    }
    int element(int pplace){
    	int ppp=ran(1,100),i=0;
    	while(ppp>ttype[pplace][i]){i++;}
    	return i;
    }
    shuxing definition(int a1,int b1,int c1,int d1,int z7,int pplace){
    	shuxing gg;
    	int Ee=element(pplace);
    	gg.AA1=a1;gg.BB1=b1;gg.CC1=c1;gg.DD1=d1;
    	gg.CC2=(AAA_C[a1]+b1*BBB_C[a1])*(CCC_C[c1]+d1*DDD_C[c1])*zzz[z7];
    	gg.DD2=gg.CC2*AAA_D[a1]*CCC_D[c1];
    	gg.EE2=gg.CC2*AAA_E[a1]*CCC_E[c1];gg.XX2=gg.EE2;
    	gg.FF2=gg.CC2*AAA_F[a1]*CCC_F[c1];gg.YY2=gg.FF2;
    	gg.GG2=gg.CC2*AAA_G[a1]*CCC_G[c1];
    	gg.zz7=z7;
    	for(int q=0;q<14;q++){
    		gg.CC3[q]=eleC3[Ee][q]*gg.CC2*AAA_CC[a1]*CCC_CC[c1]*0.0001;
    		gg.GG3[q]=1-eleG3[Ee][q]*(1-AAA_GG[a1]*CCC_GG[c1])*0.01;
    	}
    	return gg;
    }
    void check1(){
    	int i=0;
    	while(J>=q1[i]){i++;}
    	J1=i;
    	J2=1+((J-q1[J1-1])/q2[J1])/q3[J1];
    	J3=q2[J1]-((J-q1[J1-1])/q3[J1])%q2[J1];
    	J4=(J-q1[J1-1])%q3[J1];
    	return ;
    }
    cs ti1[36]={"白铁","黑铁","精钢","白铜","青铜","黄铜","伪银","白银","秘银","伪金","黄金","白金","铂金","暗金","黑金","伪钻",
    "钻石","精钻","星辰","明星","星耀","巨星","超巨星","繁星","月食","新月","明月","半月","皓月","满月","日食","日出","日中","冬日","夏日","烈日"};
    cs ti2[9]={"","I","II","III","IV","V","VI","VII","VIII"};
    void printtitle(){
    	if(J1<7){cout<<ti1[3*J1+J2-4];}else{cout<<ti1[6*J1+J2-25];}
    	cout<<" "<<ti2[J3]<<" "<<J4<<"星";
    	return ;
    }
    void answer(int k){
    	system("cls");
    	if(F){
    		if(k==2){
    			cout<<"你获胜了!";
    			sleep(2);
    			int coins=10*floor((J+4)*(J+5)/10.0);
    			cout<<"你获得了"<<coins<<"枚铁币!"<<endl;
    			z1+=coins;
    			J++;
    			sleep(5);
    		}else{
    			cout<<"你落败了";
    			if(J>0){J--;}
    		}
    		check1();
    	}else{
    		if(k==1){
    			cout<<"你被打败了..."<<endl;
    		}
    		if(k==2){
    			cout<<"你击败了对手!"<<endl;
    			sleep(1);
    			D=ran(5,10)*pow(10,type/2);
    			cout<<"你获得了"<<D<<"枚铁币"<<endl;
    			z1+=D;
    		}
    		if(k==3){
    			cout<<"你在战斗中体力不支,被打败了..."<<endl;
    		}
    		if(k==4){
    			cout<<"你在战斗中体力不支,趁机逃走了..."<<endl;
    		}
    	}
    	sleep(4);
    	return ;
    }
    void battle(int a1,int b1,int c1,int d1,int z7,string K,int pplace){
    	GG=definition(a1,b1,c1,d1,z7,pplace);
    	result=fight(K);
    	answer(result);
    	return ;
    }
    cs po1[17]={"排位","草原","荒漠","沙漠","高山","雪地","冰川","森林","丘陵","下界","沼泽","深渊","虚空","训练室","学校","市场","家"};
    cs po2[9]={"新手","入门","初级","初级+","中级","中级+","高级","高级+","特级"};
    cs t1[70]={"训练可以快速提升等级和境界","不建议前往高阶区域探索","探索时可能遇到高阶敌人","探索时可能遇到低阶敌人","休息选项会耗费一天时间,使生命与法力回满","不建议在学校探索",
    "不建议在训练室探索","更改存档名称可能导致读取失败","防御属性可以降低你受到的伤害","敏捷属性可以帮助你闪开敌人的攻击","精神属性可以使你在战斗中更加持久","生命属性可以让你更耐揍",
    "战斗策略可在设置处修改","<0.6的战斗策略为极端保守","0.6~0.8的战斗策略为保守","0.8~1.25的战斗策略为平衡","1.25~1.5的战斗策略为激进",">1.5的战斗策略为极端激进","力量药水可以短暂提高伤害",
    "1金币=1000银币","1银币=1000铜币","1铜币=1000铁币","1阶药水价格为1铁币,2阶药水价格为10铁币, 以此类推...","不同药水的价格是不同的","恢复药水较为昂贵","治疗药水较为廉价","药水可以提供增益",
    "更高的战斗策略会提高伤害,但也会大幅提高法力消耗","为什么敌人受到的伤害为0? 因为敌人的防御太高","不建议设置太高的战斗策略","不要设置太低的战斗策略","排位赛可以提高段位",
    "每月末会根据段位发放奖励,并更新段位","每年末会根据段位发放大奖","排位赛会匹配实力相近的对手进行比拼","合适的战斗策略可以提高战斗实力","若攻击力低于对手防御,则伤害为0(不破防)",
    "触发暴击时最高打出10000倍伤害","幸运值可以提高暴击率与暴击伤害","遇到作者可以获得大量奖励","真的会有人玩这个游戏吗?","1.1版本将在春节左右更新","1.2版本将在开学后更新","2.0版本不知道什么时候更新",
    "作者在思考如何让你使用药水","战斗中能使用的药水数量是有限的","高阶药水的效果更强,同时也更贵","每种药水最多持有99瓶","一瓶药水占用10格空间","初始背包的容量是50格","背包的空间是有限的",
    "高级背包可以在市场购买","初始储物柜的空间是200格","储物柜位于家中","储物柜可以存放大量物品","高级储物柜可以在市场购买","不要急着突破,低阶时的积累可以使你走得更远","突破概率=1-2^(-经验/突破经验)",
    "不要随意改动存档名称","不要随意改动存档内容","程序出错时请在HFOJ上联系作者:)","训练可以获取经验与少量属性","升级时会获取属性","升阶时会获取大量属性","探索时有概率找到丹药","丹药可以提升训练速度",
    "任何建议都可以在HFOJ上提交给作者","任何意见都可以在HFOJ上提交给作者","作者在制造可穿戴的装备:)","装备板块预估在1.2版本加入:)"};
    cs t2[70]={"xμ=(x,y,z,ict)","uμ=dxμ/dτ","uz'=√(1-v2/c2)*uz/(1-v*ux/c2)","E'=(E-v*px)/(1-v*ux/c2)","E=hν","F=ma","p=mv","E=mv2/2","F=dE/dx","v=dx/dt","a=dv/dt","v=dE/dp",
    "ux'=(ux-v)/(1-v*ux/c2)","uy'=√(1-v2/c2)*uy/(1-v*ux/c2)","pμ=(px,py,pz,iE/c)","dU=TdS-pdV","dH=TdS+Vdp","dF=-SdT-pdV","dG=-SdT+Vdp","U=Nu","H=Nh","F=Nf","G=Nμ","S=Ns","V=Nv","Ψ=F-ΣμN",
    "dU=TdS-pdV+ΣμdN","dH=TdS+Vdp+ΣμdN","dF=-SdT-pdV+ΣμdN","dG=-SdT+Vdp+ΣμdN","dΨ=-SdT-pdV-ΣNdμ","du=Tds-pdv","dh=Tds+vdp","df=-sdT-pdv","dμ=-sdT+vdp","为什么战斗界面这么简陋啊? 因为作者还没想好...",
    "D=εE","B=μH","H=U+pV","F=U-TS","G=U-TS+pV","dU=TdS-pdV","F=dp/dt","m=m0/√(1-v2/c2)","j=ρv","φ=kx-ωt","x'=(x-vt)/√(1-v2/c2)","y'=y","z'=z","t'=(t-vx/c2)/√(1-v2/c2)","pμ=m0*xμ",
    "Happy Happy Happy~~~~~~","南鑫真的好厉害吗","......6","这是你第几次看到这条Tips呢","今天你迟到了吗?","入校时间 7:30:01 :(","入校时间 14:25:01 :(","入校时间 7:30:00 :|","入校时间 14:25:00 :|",
    "入校时间 7:29:59 :)","入校时间 14:24:59 :)","想提前去吃饭~~~","原神,启动!","崩坏:星穹铁道,启动!","各位的期中考成绩如何呀~~~(作者考萎了:(","国测快乐~~~","体测快乐~~~","体育课快乐~~~","欢迎向作者反映bug",};
    cs t3[60]={"ΣνA=0","Σνμ=0","Πp^ν=Kp(T)","U=NRT/(γ-1)","H=γNRT/(γ-1)","S=NRlnT/(γ-1)+NRlnV","S=γNRlnT/(γ-1)-NRlnp","F=NRT(1-lnT)/(γ-1)-NRTlnV","G=NRT(γ-lnT)/(γ-1)-NRTlnV",
    "u=RT/(γ-1)","h=γRT/(γ-1)","s=RlnT/(γ-1)+RlnV","s=γRlnT/(γ-1)-Rlnp","f=RT(1-lnT)/(γ-1)-RTlnV","μ=RT(γ-lnT)/(γ-1)-RTlnV","generals.io,启动!","yorg.io,启动!","diep.io,启动!","florr.io,启动!",
    "digdig.io,启动!","Slay the Spire,启动!","Turmoil,启动!","World of Warships,启动!","Maj-soul,启动!","SUPERCELL,启动!","皇室战争,启动!","部落冲突,启动!","荒野乱斗,启动!","Genshin Impact,启动!",
    "Honkai:Star Rail,启动!","Phigros,启动","Arcaea,启动!","Muse Dash,启动!","ADOFAI,启动!","Cytus,启动!","Rotaeno,启动!","MC,启动!","Phira,启动!","Deemo,启动!","Cytus 2,启动!","M=r×F","L=r×p",
    "ωx=φ'sinθsinψ+θ'cosψ","ωy=φ'sinθcosψ-θ'sinψ","ωz=φ'cosθ+ψ'","I1(ωx)'-(I2-I3)ωy*ωz=Mx","I2(ωy)'-(I3-I1)ωz*ωx=My","I3(ωz)'-(I1-I2)ωx*ωy=Mz","dE/dt=P","dL/dt=M",
    "Ixx=Σm(y^2+z^2)","Iyy=Σm(z^2+x^2)","Izz=Σm(x^2+y^2)","Ixy=Σm(x*y)","Iyx=Σm(x*y)","Ixz=Σm(x*z)","Izx=Σm(x*z)","r=p/(1+ecosθ)"};
    void randomtips(){
    	D=ran(0,549);
    	cout<<"Tips:";
    	if(D<350){cout<<t1[D/5];}else if(D<490){cout<<t2[(D-350)/2];}else{cout<<t3[D-490];}
    	cout<<endl;
    	return ;
    }
    void tips(){
    	cout<<"你想了解什么?"<<endl;
    	cout<<"1、训练   2、探索   3、战斗"<<endl;
    	cout<<"4、排位赛 5、存档与读档"<<endl;
    	cin>>B;
    	if(B==1){
    		cout<<"训练时会获得经验与少量属性"<<endl;
    		cout<<"升级、升阶时会获得大量属性,并清空经验"<<endl;
    		cout<<"更高的属性值可以帮助你战胜强大的敌人"<<endl;
    	}else if(B==2){
    		cout<<"你在不同位置探索,会遇到不同";
    		Set(9);cout<<"事件"<<endl;Set(15);
    		sleep(4);
    		cout<<"在市场可以购买药水、丹药与各种材料"<<endl;
    		sleep(3);
    		cout<<"在学校可能会遇到老师与同学,也可能遇不到"<<endl;
    		cout<<"你可以与同学们吃喝玩乐,也可以认真学习、训练(?"<<endl;
    		sleep(3);
    		cout<<"在野外可能发现";
    		Set(2);cout<<"资源采集点";Set(15);
    		cout<<",有概率获得";
    		Set(10);cout<<"药水、丹药与特殊材料"<<endl;Set(15);
    		cout<<"资源稀有度与区域有关,区域越";
    		Set(6);cout<<"危险";Set(15);
    		cout<<",资源的品质就越";
    		Set(10);cout<<"高"<<endl;Set(15);
    		cout<<"采集资源时可能遭遇";
    		Set(12);cout<<"敌人"<<endl;;Set(15);
    		sleep(4);
    		cout<<"在野外探索时也可能会遭遇";
    		Set(12);cout<<"敌人";Set(15);
    		cout<<",进入";
    		Set(14);cout<<"战斗"<<endl;Set(15);
    		cout<<"敌人的等级与境界与区域级别差距相近(不超过一阶)"<<endl;
    		sleep(5);
    		cout<<"打败敌人可以获得少量钱币,可以在商店处购买物品"<<endl;
    		cout<<"打败敌人也有小概率获得药水与材料"<<endl;
    	}else if(B==3){
    		cout<<"战斗过程中你与敌方轮流行动"<<endl;
    		sleep(1);
    		cout<<"你可以发动进攻,也可以释放技能(如果学习过)"<<endl;
    		cout<<"技能可以为你提供";
    		Set(10);cout<<"增益";
    		Set(15);cout<<",也可以对敌方施加";
    		Set(12);cout<<"减益"<<endl;
    		Set(15);
    		sleep(1);
    		cout<<"攻击造成的伤害取决于攻击力与防御"<<endl;
    		cout<<"攻击有概率被闪避,概率取决于双方敏捷"<<endl;
    		cout<<"攻击有概率暴击,倍率分布与幸运值有关"<<endl;
    		sleep(1);
    		cout<<"若敌方生命值低于0,你获得";
    		Set(10);cout<<"胜利"<<endl;Set(15);
    		cout<<"若你的生命值低于0,你被";
    		Set(4);cout<<"击败"<<endl;Set(15);
    		cout<<"若你的法力值低于0,你";
    		Set(4);cout<<"落败"<<endl;Set(15);
    		sleep(2);
    	}else if(B==4){
    		cout<<"排位赛是匹配对手进行对战的长期活动"<<endl;
    		cout<<"匹配到的对手的实力与你相近,因此段位反映了你的实力"<<endl;
    		Set(10);cout<<"胜利会获得1星";
    		Set(12);cout<<"失败会失去1星";Set(15);
    		cout<<"一个赛季持续一年,赛季结束时根据段位发放奖励,并重置段位"<<endl;
    		cout<<"下一赛季的初始段位与上赛季末的段位有关"<<endl;
    		cout<<"你的段位越高,发放的奖励就越丰富"<<endl;
    	}else if(B==5){
    		cout<<"存档时,exe程序会输出一个txt文件,储存你的游戏进度"<<endl;
    		cout<<"txt文件位于exe程序旁边,";
    		Set(9);cout<<"新存档会覆盖旧存档"<<endl;Set(15);
    		cout<<"你可以先把旧存档移动至不同文件夹中,防止被覆盖"<<endl;
    		cout<<"读档时,exe程序会在同一文件夹中寻找存档文件,并读取内容"<<endl;
    		Set(12);cout<<"请不要更改txt文件名称,防止读档失败:)"<<endl;Set(15);
    		cout<<"读档时,程序读取到的内容会覆盖当前游戏进度,";
    		Set(11);cout<<"请谨慎读档"<<endl;Set(15);
    		cout<<"如果读档失败,请在HFOJ或QQ上联系作者:)"<<endl;
    	}else{
    		cout<<"???"<<endl;
    	}
    	sleep(2);
    	cout<<"输入1以继续"<<endl;
    	cin>>B;
    	if(B==1){
    		return ;
    	}else{
    		Set(1);
    		cout<<"呃..."<<endl;
    		sleep(3);
    		cout<<"我们还是继续吧"<<endl;
    		sleep(4);
    		Set(15);
    		return ;
    	}
    }
    void firstpage(){
    	system("cls");
    	cout<<"小游戏 1.1.3版   by LJQ(C20240186 AG20270281)"<<endl;
    	cout<<"                        QQ:2766593006"<<endl;
    	cout<<name<<"   ";
    	Set(elecolor[E]);cout<<ele[E]<<endl;Set(15);
    	cout<<"等级: "<<A1<<"阶"<<B1<<"级    经验: "<<A2<<"/"<<jy(A1,B1)<<endl;
    	cout<<"境界: "<<C1<<"阶"<<D1<<"级    经验: "<<B2<<"/"<<jy(C1,D1)<<endl<<endl;
    	cout<<"力量: "<<fixed<<setprecision(4)<<C2.c<<"  精神: "<<fixed<<setprecision(4)<<D2.c<<endl;
    	cout<<"生命: "<<fixed<<setprecision(4)<<E2.c<<"  敏捷: "<<fixed<<setprecision(4)<<F2.c<<endl;
    	cout<<"当前生命: "<<X2<<"  当前法力: "<<Y2<<endl;
    	cout<<"当前精力: "<<E3<<"  当前心情: "<<mood<<endl;
    	cout<<"段位";printtitle();
    	cout<<"位置: "<<po1[place];
    	if(place<13){cout<<"   "<<po2[type-1];}
    	cout<<endl;
    	printmoney();
    	cout<<"现在是"<<A4<<" 年 "<<B4<<" 月 "<<C4<<" 日"<<endl;
    	cout<<"接下来做什么?"<<endl;
    	cout<<"1、移动  2、探索  3、训练  4、挑战"<<endl;
    	cout<<"5、休息  6、引导教程       7、设置"<<endl;
    	cout<<"8、保存(存档名称为  你的存档.txt )"<<endl;
    	cout<<"9、读取存档  ( 请勿更改存档名称! )"<<endl;
    	cout<<"10、排位赛     11、更新日志"<<endl;
    	cout<<"12、保存并退出"<<endl;
    	randomtips();
    	return ;
    }
    void travelto(){
    	system("cls");
    	cout<<"去哪里?"<<endl;
    	sleep(2);
    	cout<<"1、训练室   2、学校   3、市场"<<endl;
    	cout<<"4、野外     5、家"<<endl;
    	if(place==4){
    		cout<<"101、新手 (1阶)"<<endl;
    		cout<<"102、入门 (2阶)"<<endl;
    		cout<<"103、初级 (3阶)"<<endl;
    		cout<<"104、初级+(4阶)"<<endl;
    		cout<<"105、中级 (5阶)"<<endl;
    		cout<<"106、中级+(6阶)"<<endl;
    		cout<<"107、高级 (7阶)"<<endl;
    		cout<<"108、高级+(8阶)"<<endl;
    		cout<<"109、特级 (9阶)"<<endl;
    	}
    	cin>>B;
    	if(1<=B&&B<=5){
    		place=B;
    		cout<<"正在前往"<<po1[place-1];
    		sleep(4);
    		cout<<"已到达"<<po1[place-1]<<"!";
    		sleep(1);
    	}else if(place==4&&101<=B&&B<=109){
    		int type1=B-100;
    		if(type1>(A1+C1)/2.0){
    			Set(4);cout<<"警告:区域过于危险,不建议前往"<<endl;Set(15);
    			sleep(2);
    			cout<<"1、我还是想去   2、算了吧"<<endl;
    			cin>>B;
    			if(B==1){
    				cout<<"好吧..."<<endl;
    				sleep(4);
    				type=type1;
    			}else{
    				cout<<"小心驶得万年船:)"<<endl;
    				sleep(3);
    			}
    		}
    	}
    	return ;
    }
    int init(){
    	D=ran(1,10);
    	if(D==1){return -1;}
    	if(D==10){return 1;}
    	return 0;
    }
    void exploreschool(){
    	system("cls");
    	D=ran(1,10);
    	if(D==1){
    		cout<<"你遇到了同学"<<endl;
    		sleep(1);
    		D=ran(1,3);
    		switch(D){
    			case(1):
    				D=ran(50,100);
    				cout<<"你和同学在校门口吃饭"<<endl;
    				sleep(1);
    				cout<<"花费了"<<D<<"枚铁币"<<endl;
    				sleep(3);
    				cout<<"你的心情变好了"<<endl;
    				z1=z1-D;
    				D=ran(1,3);
    				mood=mood+D;
    				return ;
    			case(2):
    				cout<<"你和同学去电影院看电影"<<endl;
    				sleep(2);
    				D=ran(200,300);
    				cout<<"花费了"<<D<<"枚铁币"<<endl;
    				sleep(4);
    				z1=z1-D;
    				cout<<"你的心情变好了:)"<<endl;
    				D=ran(3,5);
    				mood=mood+D;
    				return ;
    			case(3):
    				cout<<"你和同学在宿舍玩游戏"<<endl;
    				sleep(5);
    				cout<<"你的心情变好了:)"<<endl;
    				D=ran(1,10);
    				mood=mood+D;
    				return ;
    		}
    	}else if(D==2){
    		cout<<"你遇到了老师"<<endl;
    		D=ran(1,2);
    		if(D==1){
    			D=ran(3,5);
    			cout<<"老师希望你认真训练,不要浪费时间:|"<<endl;
    			sleep(1);
    			cout<<"你有些无语:|"<<endl;
    			sleep(3);
    			mood-=D;
    		}else{
    			D=ran(3,5);
    			cout<<"老师表扬了你的小测成绩:)"<<endl;
    			sleep(1);
    			cout<<"你的心情变好了"<<endl;
    			sleep(2);
    			mood+=D;
    		}
    		return ;
    	}else{
    		cout<<"你在校园里转了一会儿"<<endl;
    		sleep(2);
    		cout<<"并没有遇见人:|"<<endl;
    		sleep(4);
    		return ;
    	}
    }
    void market(){
    	system("cls");
    	cout<<"你要买什么?"<<endl;
    	sleep(1);
    	cout<<"1、持续治疗药水      2、瞬时治疗药水"<<endl;
    	cout<<"3、持续恢复药水      4、瞬时恢复药水"<<endl;
    	cout<<"5、力量药水          6、我就看看"<<endl;
    	sleep(2);
    	int P;
    	cin>>B;
    	if(B!=1&&B!=2&&B!=3&&B!=4&&B!=5){return ;}
    	cout<<"输入药水阶数"<<endl;
    	cin>>C;
    	cout<<"你确认要购买吗?"<<endl;
    	cout<<"1、是   2、否"<<endl;
    	cin>>P;
    	if(P!=1){return ;}
    	int price=pow(10,C-1)*I[B];
    	if(price>z1){
    		cout<<"你的钱币不足以购买!"<<endl;
    		sleep(5);
    	}else{
    		cout<<"购买成功!"<<endl;
    		sleep(4);
    		h[B][C]++;
    	}
    	return ;
    }
    void explore(){
    	system("cls");
    	if(place==13){
    		D=ran(1,100);
    		if(D==1){
    			cout<<"你找到了一枚铜币。"<<endl;
    			z1+=1;
    		}else{
    			cout<<"训练室里什么也没有,换个地方探索吧"<<endl;
    		}
    		sleep(3);
    	}
    	if(place==14){
    		exploreschool();
    	}
    	if(place==15){
    		market();
    	}
    	if(place<13){
    		int aa1=type+init();
    		int cc1=type+init();
    		int ZZ7=type/2+1+init();
    		int bb1=ran(1,10);
    		int dd1=ran(1,10);
    		cout<<"你遇到了敌人!"<<endl;
    		sleep(2);
    		cout<<"战斗开始"<<endl;
    		battle(aa1,bb1,cc1,dd1,ZZ7,"敌人",place);
    		return ;
    	}
    	date(1);
    	return ;
    }
    void checkstatus(){
    	system("cls");
    	mood=50+mood/2;
    	if(X2<=0||Y2<=0){
    		cout<<"你在"<<po1[place]<<"昏倒了"<<endl;
    		sleep(2);
    		cout<<"醒来时,你发现你躺在家中的床上"<<endl;
    		sleep(3);
    		cout<<"摸摸口袋";
    		sleep(3);
    		cout<<",你发现你少了10铁币"<<endl;
    		sleep(5);
    		system("cls");
    		z1-=10;
    		X2=E2.c;
    		Y2=D2.c;
    		place=16;
    	}
    	while(A2>=jy(A1,B1)&&B1<10){
    		A2=A2-jy(A1,B1);
    		B1=B1+1;
    		cout<<"你升级了!"<<endl;
    		C2.a+=cb1[A1]*boost2()*C2.d;
    		D2.a+=db1[A1]*boost2()*D2.d;
    		E2.a+=eb1[A1]*boost2()*E2.d;
    		F2.a+=fb1[A1]*boost2()*F2.d;
    		G2.a+=gb1[A1]*boost2()*G2.d;
    		for(int q=0;q<14;q++){
    			C3[q].a+=0.0001*Cb1[A1]*boost2()*C3[q].d*eleC3[E][q];
    			G3[q].a-=0.00001*Gb1[A1]*boost2()*G3[q].d*eleG3[E][q];
    		}
    		check();
    		sleep(1);
    	}
    	while(B2>=jy(C1,D1)&&D1<10){
    		B2=B2-jy(C1,D1);
    		D1=D1+1;
    		cout<<"你升级了!"<<endl;
    		C2.b+=0.01*cb2[C1]*boost2()*C2.d;
    		D2.b+=0.01*db2[C1]*boost2()*D2.d;
    		E2.b+=0.01*eb2[C1]*boost2()*E2.d;
    		F2.b+=0.01*fb2[C1]*boost2()*F2.d;
    		G2.b+=0.01*gb2[C1]*boost2()*G2.d;
    		for(int q=0;q<14;q++){
    			C3[q].b+=0.0001*Cb2[C1]*boost2()*C3[q].d*eleC3[E][q];
    			G3[q].b-=0.00001*Gb2[C1]*boost2()*G3[q].d*eleG3[E][q];
    		}
    		check();
    		sleep(1);
    	}
    	return ;
    }
    void settings(){
    	system("cls");
    	cout<<"1、调整时间间隔(初始为250ms)"<<endl;
    	cout<<"2、调节战斗策略(建议为0.8~1.5)"<<endl;
    	cout<<"3、开启伤害构成明细(可能导致程序卡顿、崩溃)"<<endl;
    	cout<<"4、关闭伤害构成明细"<<endl;
    	cin>>B;
    	if(B==1){
    		cout<<"请输入时间间隔(单位为ms)"<<endl;
    		double k;
    		while(true){
    			cin>>k;
    			if(k>0){
    				timeunit=k;
    				cout<<"设置成功!"<<endl;
    				Sleep(1000);
    				return ;
    			}else{
    				cout<<"请重新输入"<<endl;
    				Sleep(1000);
    			}
    		}
    	}else if(B==2){
    		cout<<"请输入数值"<<endl;
    		cin>>z2;
    	}else if(B==3){
    		detail=true;
    	}else if(B==4){
    		detail=false;
    	}else if(B==20090218){
    		cheat=true;
    	}else if(B==20090219){
    		cheat=false;
    	}else{
    		cout<<"nothing here"<<endl;
    		sleep(5);
    	}
    }
    void savefile(){
    	ofstream of("你的存档.txt",ios::trunc|ios::binary);
    	of<<version<<" "<<name<<" "<<E<<" "<<A1<<" "<<B1<<" "<<C1<<" "<<D1<<endl;
    	of<<fixed<<setprecision(8)<<A2<<" "<<B2<<" "<<E1<<" "<<F1<<" "<<X1<<" "<<Y1<<endl;
    	of<<C2.a<<" "<<C2.b<<" "<<C2.d<<" "<<C2.e<<" "<<endl;
    	of<<D2.a<<" "<<D2.b<<" "<<D2.d<<" "<<D2.e<<endl;
    	of<<E2.a<<" "<<E2.b<<" "<<E2.d<<" "<<E2.e<<endl;
    	of<<F2.a<<" "<<F2.b<<" "<<F2.d<<" "<<F2.e<<endl;
    	of<<G2.a<<" "<<G2.b<<" "<<G2.d<<" "<<G2.e<<endl;
    	for(int q=0;q<12;q++){
    		of<<C3[q].a<<" "<<C3[q].b<<" "<<C3[q].d<<" "<<C3[q].e<<endl;
    		of<<G3[q].a<<" "<<G3[q].b<<" "<<G3[q].d<<" "<<G3[q].e<<endl;
    	}
    	of<<X2<<" "<<Y2<<endl;
    	of<<A4<<" "<<B4<<" "<<C4<<" "<<z1<<endl;
    	for(int a=1;a<=5;a++){for(int b=1;b<=9;b++){of<<h[a][b]<<" ";}}
        of.close();
        cout<<"保存成功!"<<endl;
        sleep(3);
        return;
    }
    void readfile(){
    	string version1;
    	ifstream lf("你的存档.txt");
    	lf>>version1>>name;
    	system("cls");
    	if(version1[0]!=version[0]){
    		cout<<"版本差距过大,确定要读取吗?"<<endl;
    		cout<<"1、是    2、否"<<endl;
    		cin>>D;
    		if(D!=1){return ;}
    		cout<<"好吧..."<<endl;
    		Sleep(200);
    	}else if(version1[2]!=version[2]){
    		cout<<"版本差距大,确定要读取吗?"<<endl;
    		cout<<"1、是    2、否"<<endl;
    		cin>>D;
    		if(D!=1){return ;}
    		cout<<"好吧..."<<endl;
    		Sleep(200);
    	}else if(version1[4]!=version[4]){
    		cout<<"版本不同,确定要读取吗?"<<endl;
    		cout<<"1、是    2、否"<<endl;
    		cin>>D;
    		if(D!=1){return ;}
    		cout<<"好吧..."<<endl;
    		Sleep(200);
    	}
    	lf>>E>>A1>>B1>>C1>>D1;
    	lf>>A2>>B2>>E1>>F1>>X1>>Y1;
    	lf>>C2.a>>C2.b>>C2.d>>C2.e;
    	lf>>D2.a>>D2.b>>D2.c>>D2.e;
    	lf>>E2.a>>E2.b>>E2.d>>E2.e;
    	lf>>F2.a>>F2.b>>F2.d>>F2.e;
    	lf>>G2.a>>G2.b>>G2.d>>G2.e;
    	for(int q=0;q<12;q++){
    		lf>>C3[q].a>>C3[q].b>>C3[q].d>>C3[q].e;
    		lf>>G3[q].a>>G3[q].b>>G3[q].d>>G3[q].e;
    	}
    	lf>>X2>>Y2;
    	X2=E2.c;Y2=D2.c;
    	lf>>A4>>B4>>C4>>z1;
    	if(A4==0){A4=1;}
    	if(B4==0){B4=1;}
    	if(C4==0){C4=1;}
    	for(int a=1;a<=5;a++){for(int b=1;b<=9;b++){lf>>h[a][b];}}
    	cout<<"读取成功!"<<endl;
    	sleep(3);
    	check();
    	return ;
    }
    void rest(){
    	cout<<"你休息了一天,";
    	sleep(1);
    	cout<<"感觉精力充沛"<<endl;
    	Y2=D2.c;X2=E2.c;
    	sleep(4);
    	date(1);
    	return ;
    }
    double pos(double a,double b){
    	double q=1.0-pow(2,-a/b);
    	return floor(1000*q);
    }
    void challenge(){
    	system("cls");
    	cout<<"你要尝试突破吗?"<<endl;
    	cout<<"1、突破等级   2、突破境界   3、我就看看"<<endl;
    	cin>>B;
    	if(B==1){
    		if(B1<10){
    			cout<<"你还没有到达"<<A1<<"阶10级"<<endl;
    			sleep(1);
    			cout<<"现在还不能突破:|"<<endl;
    			sleep(4);
    			return ;
    		}
    		int q=pos(A2,ej2[A1]);
    		D=ran(1,1000);
    		if(D<=q){
    			cout<<"突破中"<<endl;
    			sleep(3);
    			cout<<"突破成功!"<<endl;
    			sleep(5);
    			C2.a+=cc1[A1]*boost3();
    			D2.a+=dc1[A1]*boost3();
    			E2.a+=ec1[A1]*boost3();
    			F2.a+=fc1[A1]*boost3();
    			G2.a+=gc1[A1]*boost3();
    			for(int q=0;q<14;q++){
    				C3[q].a+=Cc1[A1]*boost3()*0.001*eleC3[E][q];
    				G3[q].a-=Gc1[A1]*boost3()*0.0001*eleG3[E][q];
    			}
    			check();
    			A1++;
    			B1=0;
    			A2=0;
    		}else{
    			cout<<"突破中"<<endl;
    			sleep(3);
    			cout<<"突破失败!"<<endl;
    			sleep(3);
    			A2=0;
    		}
    	}
    	if(B==2){
    		if(D1<10){
    			cout<<"你还没有到达"<<C1<<"阶10级"<<endl;
    			sleep(1);
    			cout<<"现在还不能突破:|"<<endl;
    			sleep(4);
    			return ;
    		}
    		int q=pos(B2,ej2[C1]);
    		D=ran(1,1000);
    		if(D<=q){
    			cout<<"突破中";
    			for(int k=0;k<6;k++){
    				sleep(1);
    				cout<<". ";
    			}
    			cout<<endl;
    			C2.b+=cc2[C1]*boost3();
    			D2.b+=dc2[C1]*boost3();
    			E2.b+=ec2[C1]*boost3();
    			F2.b+=fc2[C1]*boost3();
    			G2.b+=gc2[C1]*boost3();
    			for(int q=0;q<14;q++){
    				C3[q].b+=Cc2[C1]*boost3()*0.001*eleC3[E][q];
    				G3[q].b-=Gc2[C1]*boost3()*0.0001*eleG3[E][q];
    			}
    			check();
    			C1++;
    			D1=0;
    			B2=0;
    			sleep(2);
    			cout<<"突破成功"<<endl;
    		}else{
    			cout<<"突破中";
    			for(int k=0;k<6;k++){
    				sleep(1);
    				cout<<". ";
    			}
    			cout<<endl;
    			sleep(2);
    			cout<<"突破失败:("<<endl;
    			B2=0;
    		}
    		sleep(3);
    	}
    	date(1);
    	return ;
    }
    void introduction(){
    	cout<<"你是否有存档?"<<endl;
    	cout<<"1、是  2、否"<<endl;
    	cin>>B;
    	if(B==1){
    		readfile();
    		return ;
    	}
    	cout<<"游戏正在初始化..."<<endl;
    	sleep(2);
    	for(int a=1;a<=5;a++){
    		for(int b=1;b<=9;b++){
    			h[a][b]=0;
    		}
    	}
    	J1=1;J2=1;J3=3;J=J4=0;
    	counter=0;type=1;place=16;
    	A4=B4=C4=1;z1=0;mood=100;
    	E1=F1=X1=Y1=1;E3=1;A2=B2=0;
    	for(int q=0;q<14;q++){
    		C3[q].a=C3[q].b=0;G3[q].a=G3[q].b=1;
    		C3[q].d=C3[q].e=G3[q].d=G3[q].e=1;
    	}
    	C2.a=0.4;Y2=D2.a=0.5;X2=E2.a=1;F2.a=0.1;G2.a=0.01;
    	C2.b=D2.b=E2.b=F2.b=G2.b=C2.d=D2.d=E2.d=F2.d=G2.d=C2.e=D2.e=E2.e=F2.e=G2.e=1;
    	check();
    	system("cls");
    	cout<<"你的名字是?"<<endl;
    	cin>>name;
    	sleep(1);
    	cout<<"选择你喜欢的属性  :)"<<endl;
    	for(int p=0;p<14;p++){Set(elecolor[p]);cout<<p<<"、"<<ele[p]<<"   ";}
    	Set(15);
    	cout<<endl;
    	cin>>E;
    	return ;
    }
    void paiwei(){
    	cout<<"你现在的段位是";
    	printtitle();
    	cout<<", 确认要进行排位赛吗?"<<endl;
    	cout<<"1、是    2、否"<<endl;
    	cin>>D;
    	if(D!=1){return ;}
    	F=true;
    	if(J1<7){battle(J1,3*J2-1+init(),J1,3*J2-1+init(),J1+init(),"对手",0);}
    	if(J1>6){battle(J1,J2-1+(J2+1)/2+init(),J1,J2-1+(J2+1)/2+init(),J1+init(),"对手",0);}
    	F=false;
    	date(1);
    	return ;
    }
    void llog(){
    	system("cls");
    	cout<<"1.0"<<endl;
    	cout<<"    1.0.1   2024.11.17"<<endl;
    	cout<<"         基础游戏结构"<<endl;
    	cout<<"    1.0.2   2024.12.15"<<endl;
    	cout<<"         更新日志"<<endl;
    	cout<<"         Tips 更新"<<endl;
    	cout<<"    1.0.3   2025.1.5"<<endl;
    	cout<<"         战斗面板改动"<<endl;
    	cout<<"         Tips 更新"<<endl;
    	cout<<"1.1"<<endl;
    	cout<<"    1.1.1   2025.1.28"<<endl;
    	cout<<"         元素攻击与抗性实装"<<endl;
    	cout<<"         颜色显示模块实装"<<endl;
    	cout<<"         修复了已知的bug"<<endl;
    	cout<<"    1.1.2   2025.2.5"<<endl;
    	cout<<"			引导教程更新"<<endl;
    	cout<<"			修复了已知的bug"<<endl;
    	cout<<"	   1.1.3   2025.2.27"<<endl;
    	cout<<"			主界面更新"<<endl;
    	cout<<"输入1以继续..."<<endl;
    	cin>>D;
    	return ;
    }
    int main(){
    	Set(15);
    	introduction();
    	while(true){
    		checkstatus();
    		firstpage();
    		cin>>A;
    		if(A=="1"){
    			travelto();
    		}else if(A=="2"){
    			explore();
    		}else if(A=="3"){
    			training(1);
    		}else if(A=="4"){
    			challenge();
    		}else if(A=="5"){
    			rest();
    		}else if(A=="6"){
    			tips();
    		}else if(A=="7"){
    			settings();
    		}else if(A=="8"){
    			savefile();
    		}else if(A=="9"){
    			readfile();
    		}else if(A=="10"){
    			paiwei();
    		}else if(A=="11"){
    			llog();
    		}else if(A=="12"){
    			savefile();
    		}else{
    			cout<<"nothing here"<<endl;
    			sleep(5);
    		}
    	}
    	return 0;
    }
    
  • Recent Activities