• Bio

    作者准备更新中 ~~~ 当前版本: 1.4.1 2025.6.28

    #include<bits/stdc++.h>
    #include<windows.h>
    #define cs const string
    #define cd const double
    #define ci const int
    #define ts to_string
    #define sp SetConsoleCursorPosition
    using namespace std;
    HANDLE G=GetStdHandle(STD_OUTPUT_HANDLE);
    ci rrr[14]={  0,255,125,160,125,170,200,255,140,  0,200,255,230,  0};
    ci ggg[14]={200,  0,  0,255,255,190,200,255,140,180,  0,255,230,  0};
    ci bbb[14]={255,  0,100,255, 40,255,  0,160,140,  0,  0,255,230,255};
    int to_int(string a){
    	stringstream ss(a);
    	int aa;
    	if(ss>>aa){
    		return aa;
    	}else{
    		return -114514;
    	}
    }
    double to_double(string a){
    	stringstream ss(a);
    	double aa;
    	if(ss>>aa){
    		return aa;
    	}else{
    		return -114514;
    	}
    }
    COORD co;
    CONSOLE_SCREEN_BUFFER_INFO csb;
    void Clear(short X,short Y){
    	GetConsoleScreenBufferInfo(G,&csb);
    	for(short Z=X;Z<=Y;Z++){
    	    co={0,Z};
    	    sp(G,co);
    	    DWORD wr;
    	    FillConsoleOutputCharacter(G,' ',100,co,&wr);
    	}
    	sp(G,csb.dwCursorPosition);
    	return ;
    }
    string dts(double val,int precis){
    	ostringstream oss;
    	oss<<fixed<<setprecision(precis)<<val;
    	return oss.str();
    }
    bool isChineseChar(const string &str, size_t &pos) {
        if(pos>=str.size()){return false;}
        if((static_cast<unsigned char>(str[pos])&0xF0)==0xE0){
            if(pos+2<str.size()&&
                (static_cast<unsigned char>(str[pos+1])&0xC0)==0x80&&
                (static_cast<unsigned char>(str[pos+2])&0xC0)==0x80){
                pos+=3;
                return true;
            }
        }
        return false;
    }
    vector<string> split(const string &input){
        vector<string> result;
        if(input.empty()){return result;}
        size_t i=0;
        string current;
        while(i<input.size()){
            int currentType=-1;
            size_t step=1;
            size_t tempPos=i+1-step;
            if(isChineseChar(input,tempPos)){
                currentType=2;
                step=3;
            }else if(isdigit(input[i])){
                currentType=0;
            }else if(isalpha(input[i])) {
                currentType=1;
            }
            if(!current.empty()){
                result.push_back(current);
                current.clear();
            }
            if(currentType==2){
                current+=input.substr(i,3);
                i+=3;
            }else{
                current+=input[i];
                i+=1;
            }
        }
        if(!current.empty()){
            result.push_back(current);
        }
        return result;
    }
    void read(int speed,int r,int g,int b,int enters,string Context){
    	vector<string>parts=split(Context);
    	printf("\x1b[38;2;%d;%d;%dm",r,g,b);
    	for(const auto &part:parts){
    		cout<<part;
    		Sleep(speed);
    	}
    	printf("\x1b[0m");
    	for(int qq=0;qq<enters;qq++){cout<<endl;}
    	return ;
    }
    struct phi{
    	double a,b,c,d,e;
    }C2,D2,E2,F2,G2,C3[14],G3[14];
    string A,Aa;
    int Aaa;
    int B,BB,C,D,E,A4,B4,C4,E3,mood,counter=0,seed=time(0);
    int A1,B1,C1,D1,z1,place=16,type=1;
    int result,J,J1,J2,J3,J4;
    double A2,B2,z2=1,timeunit=250;
    double E1,F1,X1,Y1,X2,Y2,S2;
    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 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,judge1=true;
    string name;
    cs version="1.4.1";
    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;
    	bool dd=true;
    	while(dd){
    		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;
    				}else{
    					dd=false;
    				}
    				break;
    			case(4):
    			case(6):
    			case(9):
    			case(11):
    				if(C4>30){
    					C4=C4-30;
    					B4=B4+1;
    				}else{
    					dd=false;
    				}
    				break;
    			case(2):
    				if(runnian()){
    					if(C4>29){
    						C4=C4-29;
    						B4=B4+1;
    					}else{
    						dd=false;
    					}
    				}else{
    					if(C4>28){
    						C4=C4-28;
    						B4=B4+1;
    					}else{
    						dd=false;
    					}
    				}
    				break;
    		}
    	}
    	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+=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;
    	printf("金钱:");
    	a=z1/1000000000;b=z1%1000000000/1000000;c=z1%1000000/1000;d=z1%1000;
    	if(a!=0){read(0,255,255,  0,0,ts(a)+"金币");}
    	if(b!=0){read(0,200,200,200,0,ts(b)+"银币");}
    	if(c!=0){read(0,200,150,100,0,ts(c)+"铜币");}
    	read(0,100,100,100,1,ts(d)+"铁币");
    	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){
    	read(timeunit/10,255,255,255,1,"1、提升等级   2、提升境界");
    	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;
    		S2+=0.0001*boost1()*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();
    		read(timeunit/8,  0,255,255,1,"你获得了"+dts(p,3)+"点经验");
    		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;
    		S2+=0.0001*boost1()*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();
    		read(timeunit/8,  0,255,255,1,"你获得了"+dts(p,3)+"点经验");
    		sleep(5);
    	}else{
    		sleep(1);
    		read(timeunit/5,200,250,  0,1,"请重新输入     :)");
    		sleep(2);
    		return ;
    	}
    	date(k);
    	return ;
    }
    struct attribute{
    	int A_1,B_1,C_1,D_1,z_7,E_,S_2;
    	double C_2,D_2,E_2,F_2,G_2,X_2,Y_2,C_3[14],G_3[14];
    }GG;
    int miss(){
    	double q=1.0-pow(2,-F2.c*1.0/GG.F_2);
    	return floor(10000*q);
    }
    int mmiss(){
    	double qq=1.0-pow(2,-GG.F_2*1.0/F2.c);
    	return floor(10000*qq);
    }
    double Min(double a,double b){
    	if(a>b){return b;}
    	return a;
    }
    double Max(double a,double b){
    	if(a>b){return a;}
    	return b;
    }
    void refresh(string k){
    	system("cls");
    	read(0,255,255,255,1,name+" 生命:"+dts(X2,2)+"  法力:"+dts(Y2,2));
    	read(0,255,255,255,1,k+"    生命:"+dts(GG.X_2,2));
    	return ;
    }
    int fight(string k){
    	int r=0;
    	double ddmg,dmg,ddmg1,ddmg2[14],dmg1,dmg2[14];
    	double s2=0,ss2=0.001;
    	bool conti1;
    	string in_;
    	int in;
    	while(r<1000){
    		r++;
    		if(s2>ss2){
    			s2=s2-ss2;ss2=0;
    		}else{
    			ss2=ss2-s2;s2=0;
    		}
    		if(ss2==0){
    			refresh(k);
    			read(timeunit/3,255,170,170,1,"敌方回合");
    			sleep(1);
    			D=ran(1,10000);
    			ddmg=ddmg1=Max(GG.C_2-G2.c,0);
    			for(int q=0;q<14;q++){
    				ddmg2[q]=Max(GG.C_3[q]*G3[q].c-G2.c,0);
    				ddmg+=ddmg2[q];
    			}
    			if(D>miss()){
    				X2=X2-ddmg;
    				read(timeunit/5,255,170,170,1,"你受到了"+dts(ddmg,3)+"点伤害");
    				sleep(1);
    				if(detail){
    					for(int q=0;q<14;q++){
    						if(ddmg2[q]!=0){
    							read(timeunit/8,rrr[q],ggg[q],bbb[q],1,ele[q]+": "+dts(ddmg2[q],2)+"点");
    						}
    					}
    					sleep(2);
    				}
    				read(timeunit/5,255,255,255,2,"剩余生命值:"+dts(X2,2));
    				if(X2<=0){
    					return 1;
    				}
    			}else{
    				read(timeunit/5,150,255,150,1,"你闪开了敌方的攻击");
    				sleep(1);
    				read(timeunit/5,255,255,255,2,"剩余生命值:"+dts(X2,3));
    			}
    			sleep(1);
    			ss2=S2;
    		}
    		if(s2==0){
    			refresh(k);
    			conti1=true;
    			read(timeunit/3,170,255,170,1,"己方回合");
    			read(timeunit/6,255,255,255,1,"1、普攻   2、技能  3、逃跑");
    			while(conti1){
    				Clear(4,15);
    				sp(G,{0,4});
    				cin>>in_;
    				in=to_int(in_);
    				switch(in){
    					case(1):
    						D=ran(1,10000);
    						dmg=dmg1=Max((C2.c*boost1()-GG.G_2)*boost1()*z2,0);
    						for(int q=0;q<14;q++){
    							dmg2[q]=Max((C3[q].c*GG.G_3[q]*boost1()-GG.G_2)*boost1()*z2,0);
    							dmg+=dmg2[q];
    						}
    						if(D>mmiss()){
    							read(timeunit/5,150,255,150,1,"你对敌方造成了"+dts(dmg,2)+" 点伤害");
    							sleep(1);
    							if(detail){
    								for(int q=0;q<14;q++){
    									if(dmg2[q]!=0){
    										read(timeunit/8,rrr[q],ggg[q],bbb[q],1,ele[q]+": "+dts(dmg2[q],2)+"点");
    									}
    								}
    								sleep(2);
    							}
    							GG.X_2=GG.X_2-dmg;
    							read(timeunit/5,180,180,180,1,"敌方剩余生命值"+dts(GG.X_2,2));
    							sleep(1);
    							if(GG.X_2<=0){
    								return 2;
    							}
    						}else{
    							read(timeunit/5,180,180,180,1,"敌方闪开了你的攻击");
    							sleep(1);
    							read(timeunit/5,180,180,180,1,"敌方剩余生命值"+dts(GG.X_2,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;}
    						}
    						s2=GG.S_2;
    						conti1=false;
    						break;
    					case(2):
    						read(timeunit/5,255,255,255,1,"你还没有学习任何技能");
    						sleep(1);
    						read(timeunit/4,255,255,255,1,"无法使用技能  :|");
    						sleep(2);
    						break;
    					case(3):
    						D=ran(1,3);
    						switch(D){
    							case(1):
    								read(timeunit/4,255,255,255,1,"你逃跑了");
    								sleep(3);
    								return 5;
    							case(2):
    								read(timeunit/4,255,255,255,1,"你逃跑了");
    								sleep(2);
    								read(timeunit/4,255,255,255,1,"逃跑失败!");
    								sleep(2);
    								conti1=false;
    								s2=GG.S_2;
    								break;
    							case(3):
    								read(timeunit/4,255,255,255,1,"你逃跑了");
    								sleep(2);
    								read(timeunit/4,255,255,255,1,"逃跑失败!");
    								sleep(2);
    								break;
    						}
    						break;
    					default:
    						read(timeunit/2,255,255,255,1,"???");
    						sleep(3);
    						break;
    				}
    			}
    		}
    	}
    	return 5;
    }
    int element(int pplace){
    	int ppp=ran(1,100),i=0;
    	while(ppp>ttype[pplace][i]){i++;}
    	return i;
    }
    attribute definition(int a1,int b1,int c1,int d1,int z7,int pplace){
    	attribute gg;
    	int Ee=element(pplace);
    	gg.A_1=a1;gg.B_1=b1;gg.C_1=c1;gg.D_1=d1;
    	gg.C_2=(AAA_C[a1]+b1*BBB_C[a1])*(CCC_C[c1]+d1*DDD_C[c1])*zzz[z7];
    	gg.D_2=gg.C_2*AAA_D[a1]*CCC_D[c1];
    	gg.E_2=gg.C_2*AAA_E[a1]*CCC_E[c1];gg.X_2=gg.E_2;
    	gg.F_2=gg.C_2*AAA_F[a1]*CCC_F[c1];gg.Y_2=gg.F_2;
    	gg.G_2=gg.C_2*AAA_G[a1]*CCC_G[c1];
    	gg.z_7=z7;
    	gg.S_2=100+15*a1+10*c1+b1+d1;
    	for(int q=0;q<14;q++){
    		gg.C_3[q]=eleC3[Ee][q]*gg.C_2*AAA_CC[a1]*CCC_CC[c1]*0.0001;
    		gg.G_3[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(){
    	read(0,255,255,255,0,"段位: ");
    	if(J1<7){read(0,255,255,255,0,ti1[3*J1+J2-4]);}else{read(0,255,255,255,0,ti1[6*J1+J2-25]);}
    	read(0,255,255,255,0," "+ti2[J3]+" "+ts(J4)+"星");
    	return ;
    }
    void answer(int k){
    	system("cls");
    	if(F){
    		if(k==2){
    			read(timeunit/3, 85,255, 85,1,"你获胜了!");
    			sleep(3);
    			int coins=10*floor((J+4)*(J+5)/10.0);
    			read(timeunit/5,170,255,170,1,"你获得了"+ts(coins)+"枚铁币!");
    			z1+=coins;
    			J++;
    		}else{
    			read(timeunit/3,255,170,170,1,"你落败了");
    			if(J>0){J--;}
    		}
    		check1();
    	}else{
    		switch(k){
    			case(1):
    				read(timeunit/8,255,200,170,0,"你被打败了");
    				read(timeunit/4,255,200,170,1,"...");
    				break;
    			case(2):
    				read(timeunit/4,100,255,100,1,"你击败了对手!");
    				sleep(1);
    				D=ran(5,10)*pow(10,type/2);
    				read(timeunit/6,180,255,180,1,"你获得了"+ts(D)+"枚铁币");
    				z1+=D;
    				break;
    			case(3):
    				read(timeunit/8,255,200,170,1,"你在战斗中体力不支,被打败了...");
    				break;
    			case(4):
    				read(timeunit/8,255,200,170,1,"你在战斗中体力不支,趁机逃走了...");
    				break;
    			case(5):
    				read(timeunit/8,100,255,100,1,"对手逃走了");
    				sleep(2);
    				D=ran(5,10)*pow(10,type/2);
    				read(timeunit/6,180,255,180,1,"你获得了"+ts(D)+"枚铁币");
    				z1+=D;
    				break;
    			default:
    				read(timeunit/8,255,200,170,1,"逃走了...");
    				break;
    		}
    	}
    	sleep(3);
    	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 potionname[6]={"","持续治疗药水","瞬时治疗药水","持续恢复药水","瞬时恢复药水","力量药水"};
    cs po1[17]={"排位","草原","荒漠","沙漠","高山","雪地","冰川","森林","丘陵","下界","沼泽","深渊","虚空","训练室","学校","市场","家"};
    cs po2[9]={"新手","入门","初级","初级+","中级","中级+","高级","高级+","特级"};
    cs t1[85]={"训练可以快速提升等级和境界","不建议前往高阶区域探索","探索时可能遇到高阶敌人","探索时可能遇到低阶敌人","休息选项会耗费一天时间,使生命与法力回满","不建议在学校探索",
    "不建议在训练室探索","更改存档名称可能导致读取失败","防御属性可以降低你受到的伤害","敏捷属性可以帮助你闪开敌人的攻击","精神属性可以使你在战斗中更加持久","生命属性可以让你更耐揍",
    "战斗策略可在设置处修改","<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.4或1.5版本加入:)","这个世界正在变得丰富多彩 :)","有人会写RGB吗:|",
    "The Beauty of the world lies in the diversity of its people. ------unknown","Mystery creates wonder and wonder is the basis of man's desire to understand. ------Neil Armstrong",
    "Money is a good servant and a bad master. ------Francis Bacon","That's one small step for man, one giant leap for mankind. ------Neil Armstrong","I can't believe that God plays dice. ------Albert Einstein",
    "引导教程已更新~~~","引导教程处有区域的详细介绍","新手教程制作中~~~","引导教程处有关于[道]的简略描述","[道],是什么"};
    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[160]={"Σν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","δ(a*x)=δ(x)/a"
    "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θ)","δ(x)=δ(-x)","xδ(x)=0","g(x)δ(x)=g(0)δ(x)","xδ'(x)=-δ(x)",
    "U=-N*dlnZ/dβ","S=Nk(lnZ-β*dlnZ/dβ)","F=-NkTlnZ","H=NkT(V*dlnZ/dV-β*dlnZ/dβ)","G=-NkT(lnZ-V*dlnZ/dV)","dQ=Σεda","dW=Σadε","dW=ΣYdy","Z=Σe^(-βε)","(p+a/v^2)(v-b)=RT","a*(b*c)=(a·c)b-(a·b)c",
    "▽*(▽φ)=0","▽·(▽*a)=0","▽*(▽*a)=▽(▽·a)-▽·▽a","▽·(A·a)=(▽·A)·a+A:(a▽)","<x|x'>=δ(x-x')","<p|p'>=δ(p-p')","<x|p>=exp(i2πpx/h)/√(h)","ψ(x)=<x|ψ>","φ(p)=<p|ψ>",
    "▽*(ab)=(▽*a)b-a*▽b","▽(a·b)=a·▽b+b·▽a+a*(▽*b)+b*(▽*a)","▽·(ψa)=▽ψ·a+ψ(▽·a)","▽·(a*b)=b·(▽*a)-a·(▽*b)","▽*(ψa)=▽ψ*a+ψ(▽*a)","▽*(a*b)=a(▽·b)-b(▽·a)+b·▽a-a·▽b",
    "▽·(ab)=(▽·a)b+a·▽b","▽·(ab·r)=a·b","▽*(ab·r)=a*b","▽·(a·rr)=4a·r","▽*(a·rr)=a*r","▽·(a*r)=0","▽*(a*r)=2a","▽(a·r)=a","▽r=I","▽·(a*rr)=a*r","▽*(a*rr)=ar-ra",
    "<ψ|ψ>*<φ|φ>  >=  |<ψ|φ>|^2","<ψ|=|ψ>*","|aψ> = a|ψ>","<aψ|=a* |ψ>*","<φ|ψ> = <ψ|φ>*","<φ|aψ>=a<φ|ψ>","<u|φ+ψ>=<u|φ>+<u|ψ>","<φ+ψ|u>=<φ|u>+<ψ|u>","<ψ|ψ>=1","Σ|α><α|=I",
    "<αa|βb>=δ(α-β)*δ(a-b)","ΣΣ|αa><αa|=I","|ψ(t)>=Σc(t)|φ>","|ψ(t)>=U(t,t')|ψ(t')>","U(t,t)=I","a+b=b+a","a+0=a","a+(-a)=0","a-b=a+(-b)","a*b=b*a","a*1=a","a*0=0","a*(1/a)=1","a/b=a*(a/b)",
    "0'=1","a+b'=(a+b)'","a*b'=a*b+a","(-1)'=0","a*(-1)=-a","a+1=a'","<x>=(ψ,xψ)","<p>=(ψ,-ih▽ψ/2π)","f(x)=(ψ,f(x)ψ)","[α,β]=αβ-βα","{α,β}=αβ+βα","[α,β+γ]=[α,β]+[α,γ]","[α,-β]=-[α,β]",
    "[β,α]=-[α,β]","[α,βγ]=β[α,γ]+[α,β]γ","[αβ,γ]=α[β,γ]+[α,γ]β","[α,α]=0","{α,β+γ}={α,β}+{α,γ}","{β,α}={α,β}","z=a+ib","z=r(cosθ+isinθ)","z=re^iθ","i*i=-1","e^iθ=cosθ+isinθ",
    "(a+ib)(c+id)=(ac-bd)+(ad+bc)i","(a+ib)/(c+id)=(ac+bd)/(c^2+d^2)+i(bc-ad)/(c^2+d^2)","(a*e^iφ)*(b*e^iψ)=(ab)*e^i(φ+ψ)","1/(a*e^iφ)=(1/a)*e^(-iφ)","(r*e^iφ)^n=(r^n)*e^(inφ)",
    "a//b,b//c -> a//c","a//b,b⊥c -> a⊥c","a//b,b⊥α ->  a⊥α","α//β,α∩γ=a,β∩γ=b -> a//b","a//b,a,b∈α,β -> α=β","P∈α,β -> P∈l=α∩β","A,B∈l,A,B∈α -> l∈α","a∈α,α//β -> a//β"};
    void randomtips(){
    	D=ran(0,724);
    	read(0,255,255,255,0,"Tips:");
    	if(D<425){read(0,255,255,255,1,t1[D/5]);}else if(D<565){read(0,255,255,255,1,t2[(D-425)/2]);}else{read(0,255,255,255,1,t3[D-565]);}
    	return ;
    }
    int time0=20,time1=60,time2=80,time3=100,time4=150;
    cs d1="道";
    cs d2[2]={"存在","虚无"};
    cs d3[5]={"时空","知性","感性","创造","毁灭"};
    cs d4[10]={"时间","空间","理智","情感","本能","记忆","生命","秩序","死亡","混乱"};
    void tipsintro(){
    	system("cls");
    	read(time0,255,255,255,1,"你想了解什么?");
    	sleep(1);
    	read(time0,255,255,255,1,"1、训练   2、探索        3、战斗");
    	read(time0,255,255,255,1,"4、排位赛 5、存档与读档  6、高等元素论");
    	read(time0,255,255,255,1,"7、关于   8、区域        9、[道]");
    	return ;
    }
    void tips(){
    	string B_,BB_;
    	bool Judge=true;
    	while(Judge){
    		tipsintro();
    		cin>>B_;
    		B=to_int(B_);
    		Clear(5,20);
    		sp(G,{0,5});
    		switch(B){
    			case(1):
    				read(time1,255,255,255,1,"训练时会获得经验与少量属性");
    				read(time1,255,255,255,0,"升级、升阶时会获得");
    				read(time3,130,255,130,0,"大量属性");
    				read(time1,255,255,255,1,",并清空经验");
    				read(time1,255,255,255,1,"更高的属性值可以帮助你战胜强大的敌人");
    				break;
    			case(2):
    				read(time1,255,255,255,0,"你在不同位置探索,会遇到不同");
    				read(time2,130,200,255,1,"事件");
    				sleep(1);
    				read(time1,255,255,255,1,"在市场可以购买药水、丹药与各种材料");
    				sleep(1);
    				read(time1,255,255,255,1,"在学校可能会遇到老师与同学,也可能遇不到");
    				read(time1,255,255,255,1,"你可以与同学们吃喝玩乐,也可以认真学习、训练:)");
    				sleep(2);
    				read(time1,255,255,255,0,"在野外可能发现");
    				read(time2,160,255, 65,0,"资源采集点");
    				read(time1,255,255,255,0,",有概率获得");
    				read(time3,160,255, 65,1,"药水、丹药与特殊材料");
    				read(time1,255,255,255,0,"资源稀有度与区域有关,区域越");
    				read(time2,255, 30, 30,0,"危险");
    				read(time1,255,255,255,0,",资源的品质就越");
    				read(time1,160,255, 65,1,"高");
    				sleep(1);
    				read(time1,255,255,255,0,"采集资源时可能");
    				read(time2,255,255, 80,1,"遭遇敌人");
    				sleep(2);
    				read(time1,255,255,255,0,"在野外探索时也可能会遭遇");
    				read(time2,255, 70, 50,0,"敌人");
    				read(time1,255,255,255,0,",");
    				read(time2,255,160,  0,1,"进入战斗");
    				read(time1,255,255,255,1,"敌人的等级、境界与区域级别的差距不超过一阶");
    				sleep(2);
    				read(time1,255,255,255,0,"打败敌人可以获得");
    				read(time2,200,255, 60,0,"少量钱币");
    				read(time1,255,255,255,0,",可以在商店处购买");
    				read(time1,200,255, 60,1,"药水");
    				read(time1,255,255,255,0,"打败敌人也有小概率获得");
    				read(time1,200,255, 60,1,"药水与材料");
    				break;
    			case(3):
    				read(time2,255,255,255,1,"战斗过程中你与敌方轮流行动");
    				sleep(1);
    				read(time1,255,255,255,0,"在你的回合,你可以");
    				read(time3,200,255, 60,0,"发动进攻");
    				read(time2,255,255,255,0,",也可以");
    				read(time3, 50,230,255,0,"释放学习过的技能");
    				read(time2,255,255,255,0,"    一些技能可以为你提供");
    				read(time3,200,255, 60,1,"增益");
    				read(time2,255,255,255,0,"    一些技能可以对敌方施加");
    				read(time3,255, 30, 30,1,"减益");
    				sleep(1);
    				read(time1,255,255,255,0,"在敌方回合,敌人会对你造成");
    				read(time2,255, 80, 80,1,"伤害");
    				read(time1,255,255,255,2,"一些强大的敌人还会释放技能");
    				read(time1,255,255,255,1,"攻击造成的伤害取决于攻击力与防御");
    				read(time1,255,255,255,1,"攻击有概率被闪避,概率取决于双方敏捷");
    				read(time1,255,255,255,0,"攻击有概率暴击,倍率分布与");
    				read(time1,255,255,100,0,"幸运值");
    				read(time1,255,255,255,1,"有关");
    				read(time0,255,255,255,1,"    攻击力、防御、敏捷均可以通过");
    				read(time0,255,255,255,1,"        训练、升级、升阶、服用药材等");
    				read(time0,255,255,255,1,"    提升, 幅度与体魄强度有关");
    				sleep(1);
    				read(time1,255,255,255,0,"若敌方生命值低于0,你获得");
    				read(time1, 80,255,160,1,"胜利");
    				read(time1,255,255,255,0,"若你的生命值低于0,你被");
    				read(time1,255, 80,120,1,"击败");
    				read(time1,255,255,255,0,"若你的法力值低于0,你");
    				read(time1,255, 80,120,1,"落败");
    				sleep(1);
    				break;
    			case(4):
    				read(time1,255,255,255,1,"排位赛是匹配对手进行对战的常驻活动");
    				read(time1,255,255,255,1,"匹配到的对手的实力与你相近");
    				read(time1, 80,255,160,1,"    每场胜利会增加1星");
    				read(time1,255, 80,120,1,"    每场失败会失去1星");
    				read(time1,255,255,255,2,"因此段位反映了你的实力");
    				sleep(1);
    				read(time1,255,255,255,1,"每个赛季持续一年");
    				read(time1,255,255,255,0,"赛季结束时根据段位发放对应");
    				read(time1, 80,255,160,0,"奖励");
    				read(time1,255,255,255,1,",并根据当前段位继承段位");
    				read(time1,255,255,255,1,"下一赛季的初始段位与上赛季末的段位有关");
    				read(time1,255,255,255,1,"你的段位越高,发放的奖励就越丰富");
    				break;
    			case(5):
    				read(time2,255,255,255,1,"存档时,exe程序会输出一个txt文件");
    				read(time2,255,255,255,1,"文件中储存你的游戏进度");
    				read(time2,255,255,255,1,"txt文件位于exe程序旁边(即路径相同)");
    				read(time2,255,255,255,1,"注意,新存档会覆盖旧存档");
    				read(time2,255,255,255,1,"    注:你可以先把旧存档移动至不同文件夹中,防止被覆盖");
    				read(time2,255,255,255,1,"读档时,exe程序会在同一文件夹中尝试打开存档文件,并读取内容");
    				read(time2,255,255,255,1,"请不要更改txt文件名称,防止读档失败:)");
    				read(time2,255,255,255,0,"读档时,程序读取到的内容会覆盖当前游戏进度,");
    				read(time4,255,255,255,1,"请谨慎读档");
    				read(time2,255,255,255,1,"如果读档失败,请在HFOJ或QQ上联系作者   :)");
    				break;
    			case(6):
    				read(    0,255,255,255,1,"你想看什么?");
    				read(    0,255,255,255,1,"1、元素 2、元素伤害  3、元素分布");
    				cin>>BB_;
    				BB=to_int(BB_);
    				sleep(1);
    				switch(BB){
    					case(1):
    						read(time1,255,255,255,1,"元素有14种:");
    						sleep(1);
    						read(time2,255,255,255,1,"水、火、雷、冰、草  、风  、岩");
    						read(time2,255,255,255,1,"光、暗、毒、血、物理、虚数、量子");
    						read(time0,255,255,255,1,"你可以选择喜欢的元素作为主属性");
    						read(time1,255,255,255,1,"主属性选定后难以更换");
    						sleep(1);
    						break;
    					case(2):
    						read(time1,255,255,255,1,"战斗中,战斗单位可以造成元素伤害");
    						read(time1,255,255,255,1,"    设置处可以开启元素伤害明细");
    						read(time1,255,255,255,1,"    警告: 在极低性能设备上开启可能导致显示卡顿");
    						read(time1,255,255,255,1,"元素伤害取决于元素攻击力与元素抗性");
    						read(time1,255,255,255,1,"训练、升级、升阶可以强化元素攻击力与元素抗性");
    						read(time1,255,255,255,1,"    提升幅度主要与主属性、元素亲和度和元素境界有关");
    						read(time1,255,255,255,1,"    元素境界可以提升, 途径包括:");
    						read(time1,255,255,255,1,"        进入顿悟状态、服用天材地宝、接受高人指点等");
    						read(time1,255,255,255,1,"    元素亲和度主要由先天因素决定");
    						read(time1,255,255,255,1,"据说有途径解锁副属性   (zhen de ma");
    						sleep(2);
    						read(time1,255,255,255,1,"由于元素之间相对独立, 没有元素反应  :|");
    						break;
    					case(3):
    						read(time2,255,255,255,1,"敌方元素分布与区域有关");
    						read(time3,255,255,255,1,"具体元素分布如下:");
    						read(    0,255,255,255,1,"      水  火  雷  冰  草  风  岩  光  暗  毒  血  物理  虚数  量子");
    						read(    0,255,255,255,1,"排位   8   7   7   7   7   7   7   7   7   7   7   7     7     8");
    						read(    0,255,255,255,1,"草原  16   6   7   5  25   7   4   3   3   4   8   8     2     2");
    						read(    0,255,255,255,1,"荒漠   0   7   7   3   0  30  24   5   5   3   3   9     2     2");
    						read(    0,255,255,255,1,"沙漠   0  12   8   0   0  20  32   8   8   2   1   7     1     1");
    						read(    0,255,255,255,1,"高山   5   7  10   5   3  12  15   7   7   5   4   8     6     6");
    						read(    0,255,255,255,1,"雪地  15   0   5  25   0   8   2   9   9   2   2   8     8     7");
    						read(    0,255,255,255,1,"冰川  15   0   0  45   0  10   0   8   8   0   0  10     2     2");
    						read(    0,255,255,255,1,"森林  20   0   5   5  45   0   0   4   4   0   0  10     4     3");
    						read(    0,255,255,255,1,"丘陵  10  10   9   3  10  10   8  12  12   0   0  10     3     3");
    						read(    0,255,255,255,1,"下界   0  40  15   0   0   5   0  15  15   0   0  10     0     0");
    						read(    0,255,255,255,1,"沼泽  12   0   5   0   8   8   0  10  10  25  12  10     0     0");
    						read(    0,255,255,255,1,"深渊  10   5  10   0   0  10   0  10  20   0   0  15    10    10");
    						read(    0,255,255,255,1,"虚空   0   0   0   0   0   0   0  25  25   0   0   0    25    25");
    						break;
    					default:
    						read( 1000,255,255,255,1,"?  ?  ?");
    						break;
    				}
    				break;
    			case(7):
    				read(time2,255,255,255,1,"本游戏于2024.7开始构思...");
    				read(time1,255,255,255,1,"    本游戏于2024.09立项.");
    				read(time1,255,255,255,1,"    测试版于2024.10发布.");
    				read(time1,255,255,255,1,"    1.0 版于2024.11发布.");
    				read(time1,255,255,255,2,"详细更新进度见于更新日志  :)");
    				sleep(2);
    				read(time2,255,255,255,1,"参与制作的同学有:");
    				read(time1,100,100,255,1,"    ljq,zjj,ssz,tjt,myx,fjy");
    				sleep(1);
    				read(time2,255,255,255,2,"在此感谢所有为本游戏作出贡献的同学");
    				sleep(3);
    				read(time4,255,255,255,0,"以及,");
    				sleep(1);
    				read(time4,255,255,255,0,"在屏幕前游玩的,");
    				sleep(1);
    				read(time4,100,255,100,2,"你     :)");
    				break;
    			case(8):
    				read(time2,255,255,255,2,"下面是各区域的简略介绍");
    				sleep(1);
    				read(time0,255,255,255,1,"01    草原        一望无际的平坦草原,晴朗的天空中万里无云");
    				read(time0,255,255,255,1,"02    荒漠        极端干燥的荒地,从不下雨,没有一点生机");
    				read(time0,255,255,255,1,"03    沙漠        在永恒沙暴中的沙漠,有时能看到兔子出没");
    				read(time0,255,255,255,1,"04    高山        在深谷间蜿蜒前进的崎岖山脉,传说埋藏有宝藏");
    				read(time0,255,255,255,1,"05    雪地        下着永恒暴雪的寒冷平原,据说能看到过冬的肥鸡");
    				read(time0,255,255,255,1,"06    冰川        位于山谷中的冰川,警示牌上写着'小心地滑'");
    				read(time0,255,255,255,1,"07    森林        生长在赤道上的丛林,天空被茂密的树叶遮蔽");
    				read(time0,255,255,255,1,"08    丘陵        古老山脉留下的遗骸,平缓的山坡上流淌着小溪");
    				read(time0,255,255,255,1,"09    下界        属于岩浆与烈焰的世界,只适合高温生命生活");
    				read(time0,255,255,255,1,"10    沼泽        潮湿泥泞的洼地,茂盛的植物在水塘上生长");
    				read(time0,255,255,255,1,"11    深渊        吞噬一切的深渊,旁边的空地上写着'当心坠落'");
    				read(time0,255,255,255,0,"12    虚空        源于虚无,传说有未知生命体活动,");
    				read(time0,255,255, 75,1,"请谨慎探索");
    				read(time0,255,255,255,1,"13    训练室      学校教学楼上属于你的训练室");
    				read(time0,255,255,255,1,"14    学校        占地约一平方公里的校园,是学习、训练的场地");
    				read(time0,255,255,255,1,"15    市场        离家不远的小型集市,有多种普通药水与材料售卖");
    				read(time0,255,255,255,1,"16    家          休息的场所");
    				break;
    			case(9):
    				read(180,255,255,255,1,"下面展示了这个世界(已被解析)的[道].");
    				sleep(2);
    				read( 10,255,255,255,1,"                 本源法则       法则             本源规则      规则");
    				read( 10,255,255,255,1,"道(0)   存在(1)    时空(1-1)    时间(1-1-1)");
    				read( 10,255,255,255,1,"                                空间(1-1-2)");
    				read( 10,255,255,255,1,"                   知性(1-2)    理智(1-2-1)     欢乐、悲怆");
    				read( 10,255,255,255,1,"                                                希望、绝望");
    				read( 10,255,255,255,1,"                                情感(1-2-2)     快乐、悲伤");
    				read( 10,255,255,255,1,"                                                厌恶、喜爱");
    				read( 10,255,255,255,1,"                   感性(1-3)    本能(1-3-1)   恐惧,安宁,幸福");
    				read( 10,255,255,255,1,"                                              焦虑,平静,祥和");
    				read( 10,255,255,255,1,"                                记忆(1-3-2)     回忆、忘却");
    				read( 10,255,255,255,1,"        虚无(2)    创造(2-1)    生命(2-1-1)        治愈      治疗、净化");
    				read( 10,255,255,255,1,"                                                   生存      繁育、狩猎");
    				read( 10,255,255,255,1,"                                秩序(2-1-2)     规律、权力");
    				read( 10,255,255,255,1,"                   毁灭(2-2)    死亡(2-2-1)        禁疗      重伤、吸血");
    				read( 10,255,255,255,1,"                                                   腐化      污染、凋零");
    				read( 10,255,255,255,1,"                                混乱(2-2-2)        迷幻      干扰、幻觉");
    				read( 10,255,255,255,2,"                                                   欺诈      谎言、狡诈");
    				read(200,255,255,255,1,"领悟已有的[道],可以获得    的能力.");
    				read(180,255,255,255,1,"解析未知的[道],可以获得                       (请告诉作者 :)  )");
    				read(180,255,255,255,3,"展开全新的[道],可以获得                       (请告诉作者 :)  )");
    				break;
    			default:
    				read( 1000,255,255,255,1,"?  ?  ?");
    				break;
    		}
    		sleep(3);
    		read(time3,255,255,255,1,"输入1以退出, 输入2以继续");
    		cin>>B;
    		switch(B){
    			case(1):
    				Judge=false;
    				break;
    			case(2):
    				break;
    			default:
    				read(500,255,255,255,1,"呃...");
    				sleep(2);
    				read(200,255,255,255,1,"我们还是退出吧");
    				sleep(3);
    				Judge=false;
    				break;
    		}
    	}
    	return ;
    }
    void firstpage(){
    	system("cls");
    	read(0,255,255,255,1,"小游戏 1.4.1版   by LJQ(C20240186/AG20270281)");
    	read(0,255,255,255,1,"                               QQ:2766593006");
    	read(0,255,255,255,0,name+"   ");
    	read(0,rrr[E],ggg[E],bbb[E],1,ele[E]);
    	read(0,255,255,255,1,"等级: "+ts(A1)+"阶"+ts(B1)+"级    经验: "+dts(A2,3)+"/"+dts(jy(A1,B1),3));
    	read(0,255,255,255,2,"境界: "+ts(C1)+"阶"+ts(D1)+"级    经验: "+dts(B2,3)+"/"+dts(jy(C1,D1),3));
    	read(0,255,255,255,1,"力量: "+dts(C2.c,3)+"  精神: "+dts(D2.c,3));
    	read(0,255,255,255,1,"生命: "+dts(E2.c,3)+"  敏捷: "+dts(F2.c,3));
    	read(0,255,255,255,1,"当前生命: "+dts(X2,3)+"  当前法力: "+dts(Y2,3));
    	read(0,255,255,255,1,"当前精力: "+ts(E3)+"  当前心情: "+ts(mood));
    	printtitle();
    	read(0,255,255,255,0," 位置: "+po1[place]+" ");
    	if(place<13){read(0,255,255,255,1,"   "+po2[type-1]);}
    	printmoney();
    	read(0,255,255,255,1,"现在是"+ts(A4)+" 年 "+ts(B4)+" 月 "+ts(C4)+" 日");
    	read(0,255,255,255,1,"接下来做什么?");
    	read(0,255,255,255,1,"1、移动  2、探索  3、训练  4、挑战");
    	read(0,255,255,255,1,"5、休息  6、引导教程       7、设置");
    	read(0,255,255,255,1,"8、保存(存档名称为  你的存档.txt )");
    	read(0,255,255,255,1,"9、读取存档  ( 请勿更改存档名称! )");
    	read(0,255,255,255,1,"10、排位赛     11、更新日志");
    	read(0,255,255,255,1,"12、保存并退出 13、查看背包");
    	randomtips();
    	return ;
    }
    void travelto(){
    	system("cls");
    	read(0,255,255,255,1,"去哪里?");
    	sleep(2);
    	read(0,255,255,255,1,"1、草原      2、荒漠    3、沙漠   4、高山   5、雪地   6、冰川");
    	read(0,255,255,255,1,"7、森林      8、丘陵    9、下界   10、沼泽  11、深渊  12、虚空");
    	read(0,255,255,255,1,"13、训练室   14、学校   15、市场  16、家");
    	if(place<13){
    		read(0,255,255,255,1,"101、新手 (1阶)");
    		read(0,255,255,255,1,"102、入门 (2阶)");
    		read(0,255,255,255,1,"103、初级 (3阶)");
    		read(0,255,255,255,1,"104、初级+(4阶)");
    		read(0,255,255,255,1,"105、中级 (5阶)");
    		read(0,255,255,255,1,"106、中级+(6阶)");
    		read(0,255,255,255,1,"107、高级 (7阶)");
    		read(0,255,255,255,1,"108、高级+(8阶)");
    		read(0,255,255,255,1,"109、特级 (9阶)");
    	}
    	cin>>B;
    	if(1<=B&&B<=16){
    		place=B;
    		read(time3,255,255,255,1,"正在前往"+po1[place]);
    		sleep(2);
    		read(time1,255,255,255,1,"已到达"+po1[place]+"!");
    		sleep(3);
    	}else if(place<13&&101<=B&&B<=109){
    		int type1=B-100;
    		if(type1>(A1+C1)/2.0){
    			read(time2,255, 80, 80,1,"警告:区域过于危险,不建议前往");
    			sleep(3);
    			read(0    ,255,255,255,1,"1、我还是想去   2、算了吧");
    			cin>>B;
    			if(B==1){
    				read(time3,255,255,255,1,"好吧...");
    				sleep(3);
    				type=type1;
    			}else{
    				read(time3,255,255,255,1,"小心驶得万年船   :)");
    				sleep(2);
    			}
    		}
    	}
    	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);
    	int D_;
    	switch(D){
    		case(1):
    			read(time2,255,255,255,1,"你遇到了同学");
    			sleep(1);
    			D_=ran(1,3);
    			switch(D_){
    				case(1):
    					z1-=ran(50,100);
    					mood+=ran(1,3);
    					read(time2,255,255,255,1,"你和同学在校门口吃饭");
    					sleep(3);
    					read(time1,255,255,255,1,"花费了"+ts(D)+"枚铁币");
    					sleep(2);
    					read(time1,255,255,255,0,"你的心情变");
    					read(time1,  0,255,120,1,"好了:)");
    					sleep(2);
    					break;
    				case(2):
    					z1-=ran(200,300);
    					mood+=ran(3,5);
    					read(time2,255,255,255,1,"你和同学去电影院看电影");
    					sleep(3);
    					read(time2,255,255,255,1,"花费了"+ts(D)+"枚铁币");
    					sleep(2);
    					read(time1,255,255,255,1,"你的心情变");
    					read(time1,  0,255,120,1,"好了:)");
    					sleep(2);
    					break;
    				case(3):
    					mood+=ran(1,10);
    					read(time2,255,255,255,1,"你和同学在宿舍玩游戏");
    					sleep(4);
    					read(time2,  0,255,120,1,"你的心情变好了:)");
    					sleep(2);
    					break;
    			}
    			break;
    		case(2):
    			read(time2,255,255,255,1,"你遇到了老师");
    			D_=ran(1,2);
    			switch(D_){
    				case(1):
    					mood-=ran(3,5);
    					read(time2,255,255,255,1,"老师希望你认真训练,不要浪费时间");
    					sleep(1);
    					read(time2,255,255,255,1,"你有些无语:|");
    					sleep(3);
    					break;
    				case(2):
    					mood+=ran(3,5);
    					read(time2,255,255,255,1,"老师表扬了你的测试成绩:)");
    					sleep(1);
    					read(time2,255,255,255,1,"你的心情变好了   :)");
    					sleep(3);
    					break;
    			}
    			break;
    		default:
    			read(time2,255,255,255,1,"你在校园里转了一会儿");
    			sleep(3);
    			read(time2,255,255,255,1,"并没有遇见人");
    			sleep(1);
    			read(time2,255,255,255,1,":|");
    			sleep(3);
    			break;
    	}
    	return ;
    }
    void market(){
    	system("cls");
    	read(time1,255,255,255,1,"你要买什么?");
    	sleep(1);
    	read(0,255,255,255,1,"1、持续治疗药水      2、瞬时治疗药水");
    	read(0,255,255,255,1,"3、持续恢复药水      4、瞬时恢复药水");
    	read(0,255,255,255,1,"5、力量药水          6、我就看看");
    	sleep(2);
    	cin>>B;
    	if(B!=1&&B!=2&&B!=3&&B!=4&&B!=5){return ;}
    	read(time2,255,255,255,1,"输入药水阶数(1-9)");
    	cin>>C;
    	if(C>9||C<1){
    		read(time1,255,255,255,1,"没有此类药水  :/");
    		sleep(2);
    		return ;
    	}
    	read(time2,255,255,255,1,"你确认要购买吗?");
    	read(time1,255,255,255,1,"1、是   2、否");
    	string P_;
    	cin>>P_;
    	if(P_!="1"){
    		read(time2,255,255,255,1,"欢迎下次光临~~~");
    		sleep(2);
    		return ;
    	}
    	int price=pow(10,C-1)*I[B];
    	if(price>z1){
    		read(time1,255,255,255,1,"你的钱币不足");
    		sleep(4);
    	}else{
    		read(time2,  0,255,120,1,"购买成功!");
    		sleep(3);
    		h[B][C]=h[B][C]+1;
    	}
    	return ;
    }
    void explore(){
    	system("cls");
    	switch(place){
    		case(13):
    			D=ran(1,1000);
    			if(D==1){
    				read(time2,255,255,255,1,"你找到了一枚铜币。");
    				z1+=1;
    			}else{
    				read(time2,255,255,255,0,"训练室里");
    				sleep(1);
    				read(time1,255,255,255,1,"什么也没有");
    				read(time2,255,255,255,1,"换个地方探索吧");
    			}
    			sleep(3);
    			break;
    		case(14):
    			exploreschool();
    			break;
    		case(15):
    			market();
    			break;
    		case(16):
    			D=ran(1,1000);
    			if(D==1){
    				read(time2,255,255,255,1,"你找到了一枚铜币。");
    				z1+=1;
    			}else{
    				read(time2,255,255,255,0,"家里");
    				sleep(1);
    				read(time1,255,255,255,1,"什么也没有");
    				read(time2,255,255,255,1,"换个地方探索吧");
    			}
    			sleep(3);
    			break;
    		case(0):
    			place=16;
    			break;
    		default:
    			int aa1=type+init();
    			int cc1=type+init();
    			int ZZ7=type/2+1+init();
    			int bb1=ran(1,10);
    			int dd1=ran(1,10);
    			read(time1,255,255,150,1,"你遇到了敌人!");
    			sleep(2);
    			read(time1,255,255,150,1,"战斗开始");
    			sleep(3);
    			battle(aa1,bb1,cc1,dd1,ZZ7,"敌人",place);
    			break;
    	}
    	date(1);
    	return ;
    }
    void checkstatus(){
    	system("cls");
    	mood=50+mood/2;
    	if(X2<0||Y2<0){
    		read(time2,255,255,255,1,"你在"+po1[place]+"昏倒了");
    		sleep(1);
    		read(time2,255,255,255,1,"醒来时,你发现你躺在家中的床上");
    		sleep(2);
    		read(time2,255,255,255,0,"摸摸口袋,");
    		sleep(2);
    		read(time2,255,255,255,1,"你发现你少了10铁币");
    		sleep(4);
    		system("cls");
    		z1-=10;
    		if(z1<0){z1=0;}
    		X2=E2.c;Y2=D2.c;
    		place=16;
    	}
    	while(A2>=jy(A1,B1)&&B1<10){
    		A2=A2-jy(A1,B1);
    		B1=B1+1;
    		read(time1,120,255,150,1,"你升级了!");
    		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;
    		S2+=boost2()*2;
    		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;
    		read(time1,120,255,150,1,"你升级了!");
    		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;
    		S2+=boost2()*2;
    		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");
    	read(time2,255,255,255,1,"你需要调整什么?");
    	sleep(3);
    	read(    0,255,255,255,1,"1、调整时间间隔(初始为250ms)");
    	read(    0,255,255,255,1,"2、调节战斗策略(建议为0.8~1.5)");
    	read(    0,255,255,255,1,"3、开启伤害构成明细(在极低配置设备上可能导致程序卡顿、崩溃)");
    	read(    0,255,255,255,2,"4、关闭伤害构成明细");
    	string B_,z2_;
    	cin>>B_;
    	B=to_int(B_);
    	switch(B){
    		case(1):
    			read(0,255,255,255,1,"请输入时间间隔(单位为ms)");
    			double k;
    			while(true){
    				cin>>k;
    				if(k>0){
    					timeunit=k;
    					read(time0,100,255,100,1,"设置成功!");
    					Sleep(1000);
    					return ;
    				}else{
    					read(time0,100,255,100,1,"请重新输入");
    					Sleep(1000);
    				}
    			}
    			break;
    		case(2):
    			read(0,255,255,255,1,"请输入数值");
    			cin>>z2_;
    			z2=Min(Max(to_double(z2_),0.1),10);
    			break;
    		case(3):
    			detail=true;
    			break;
    		case(4):
    			detail=false;
    			break;
    		case(20090218):
    			cheat=true;
    			break;
    		case(20090219):
    			cheat=false;
    			break;
    		default:
    			read(time0,255,255,255,1,"nothing here");
    			sleep(5);
    			break;
    	}
    	return ;
    }
    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<<S2<<" "<<J;
        of.close();
        cout<<"保存成功!"<<endl;
        sleep(3);
        return;
    }
    void readfile(){
    	string version1;
    	ifstream lf("你的存档.txt");
    	lf>>version1>>name;
    	int verssion=version1[0]*10000+version1[2]*100+version1[4]-484848;
    	system("cls");
    	if(version1[0]!=version[0]){
    		read(time1,255,255,255,1,"版本差距过大,确定要读取吗?");
    		read(time1,255,255,255,1,"1、是    2、否");
    		cin>>D;
    		if(D!=1){return ;}
    		read(time3,255,255,255,1,"好吧...");
    		Sleep(200);
    	}else if(version1[2]!=version[2]){
    		read(time1,255,255,255,1,"版本差距大,确定要读取吗?");
    		read(time1,255,255,255,1,"1、是    2、否");
    		cin>>D;
    		if(D!=1){return ;}
    		read(time3,255,255,255,1,"好吧...");
    		Sleep(200);
    	}else if(version1[4]!=version[4]){
    		read(time1,255,255,255,1,"版本不同,确定要读取吗?");
    		read(time1,255,255,255,1,"1、是    2、否");
    		cin>>D;
    		if(D!=1){return ;}
    		read(time3,255,255,255,1,"好吧...");
    		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.d>>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;
    	check();
    	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];}}
    	switch(verssion){
    		case(10401):
    		case(10304):
    		case(10303):
    		case(10302):
    		case(10301):
    		case(10204):
    		case(10203):
    		case(10202):
    			lf>>S2>>J;
    			break;
    		case(10201):
    			S2=120;
    			lf>>J;
    			break;
    		default:
    			break;
    	}
    	read(200,200,255,200,1,"读取成功!");
    	sleep(2);
    	return ;
    }
    void rest(){
    	read(time4,255,255,255,1,"你休息了一天,");
    	sleep(5);
    	read(time3,255,255,255,1,"感觉精力充沛");
    	Y2=D2.c;
    	X2=E2.c;
    	sleep(3);
    	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");
    	string B_;
    	int q;
    	read(time2,255,255,255,1,"你要尝试突破吗?");
    	sleep(2);
    	read(time1,255,255,255,1,"1、突破等级   2、突破境界   3、我就看看");
    	cin>>B_;
    	B=to_int(B_);
    	switch(B){
    		case(1):
    			if(B1<10){
    				read(time1,255,255,255,1,"你还没有到达"+ts(A1)+"阶10级");
    				sleep(2);
    				read(time1,255,255,255,1,"现在还不能突破:|");
    				sleep(3);
    				return ;
    			}
    			q=pos(A2,ej2[A1]);
    			D=ran(1,1000);
    			if(D<=q){
    				read(time4,255,255,255,1,"突破中");
    				sleep(4);
    				read(time1,255,255,255,1,"突破成功!");
    				sleep(3);
    				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();
    				S2+=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{
    				read(time4,255,255,255,1,"突破中");
    				sleep(2);
    				read(time1,255,255,255,1,"突破失败!");
    				sleep(3);
    				A2=0;
    			}
    			date(1);
    			break;
    		case(2):
    			if(D1<10){
    				read(time3,255,255,255,1,"你还没有到达"+ts(C1)+"阶10级");
    				sleep(1);
    				read(time2,255,255,255,1,"现在还不能突破:|");
    				sleep(3);
    				return ;
    			}
    			q=pos(B2,ej2[C1]);
    			D=ran(1,1000);
    			if(D<=q){
    				read(time4,255,255,255,1,"突破中");
    				sleep(4);
    				read(time1,255,255,255,1,"突破成功!");
    				sleep(3);
    				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];
    				}
    				S2+=C1*boost3();
    				check();
    				C1++;
    				D1=0;
    				B2=0;
    			}else{
    				read(time4,255,255,255,1,"突破中");
    				sleep(3);
    				read(time2,255,255,255,1,"突破失败:(");
    				sleep(3);
    				B2=0;
    			}
    			date(1);
    			break;
    	}
    	return ;
    }
    void introduction(){
    	read(time0,255,255,255,1,"你是否有存档?");
    	sleep(1);
    	read(time0,255,255,255,1,"1、是  2、否");
    	string B_;
    	cin>>B_;
    	B=to_int(B_);
    	if(B==1){
    		readfile();
    		return ;
    	}
    	read(time1,255,255,255,0,"游戏正在初始化");
    	read(  400,255,255,255,1,"...");
    	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;
    	S2=100;
    	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.5;Y2=D2.a=0.6;X2=E2.a=1.2;F2.a=0.2;G2.a=0.02;
    	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");
    	read(time1,255,255,255,1,"你的名字是?        (不含空格)");
    	cin>>name;
    	read(time1,255,255,255,1,"你是否了解过基础世界观?");
    	sleep(1);
    	read(0    ,255,255,255,1,"1、是   2、否");
    	cin>>A;
    	read(time0,255,255,255,1,"是否查看引导教程?");
    	read(0    ,255,255,255,1,"1、是   2、否");
    	cin>>Aa;
    	if(Aa=="1"){
    		tips();
    	}else if(A!="1"){
    		read(time2,200,255,200,1,"建议先查看引导教程后开始游玩       :)");
    		sleep(1);
    	}
    	read(time1,255,255,255,1,"选择你喜欢的属性  :)");
    	if(A!="1"){
    		sleep(1);
    		read(time2,255,250,250,2,"注意:  选择后难以更改!");
    		sleep(1);
    		read(time1,250,255,250,1,"注意:  属性间有克制关系,但属性强度(应该)相同");
    		sleep(2);
    	}
    	for(int p=0;p<14;p++){read(time0,rrr[p],ggg[p],bbb[p],0,ts(p)+"、"+ele[p]+"   ");}
    	cout<<endl;
    	cin>>E;
    	return ;
    }
    void paiwei(){
    	read(time1,255,255,255,1,"目前");
    	printtitle();
    	read(time1,255,255,255,1,", 确认要进行排位赛吗?");
    	sleep(2);
    	read(0    ,255,255,255,1,"1、是    2、否");
    	string D_;
    	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");
    	read(time3,255,255,255,1,"1.0");
    	read(time1,255,255,255,1,"    1.0.1   2024.11.17");
    	read(time0,255,255,255,1,"         基础游戏结构与世界观");
    	read(time1,255,255,255,1,"    1.0.2   2024.12.15");
    	read(time0,255,255,255,1,"         更新日志");
    	read(time0,255,255,255,1,"         Tips 更新");
    	read(time1,255,255,255,1,"    1.0.3   2025.1.5");
    	read(time0,255,255,255,1,"         战斗面板改动");
    	read(time0,255,255,255,1,"         Tips 更新");
    	read(time3,255,255,255,1,"1.1");
    	read(time1,255,255,255,1,"    1.1.1   2025.1.28");
    	read(time0,255,255,255,1,"         元素攻击与抗性实装");
    	read(time0,255,255,255,1,"         颜色显示模块实装(16色)");
    	read(time0,255,255,255,1,"         修复了已知的bug");
    	read(time1,255,255,255,1,"    1.1.2   2025.2.5");
    	read(time0,255,255,255,1,"			引导教程更新");
    	read(time0,255,255,255,1,"			修复了已知的bug");
    	read(time1,255,255,255,1,"	   1.1.3   2025.2.27");
    	read(time0,255,255,255,1,"			主界面更新");
    	read(time0,255,255,255,1,"			Tips 改动");
    	read(time1,255,255,255,1,"    1.1.4   2025.3.8");
    	read(time0,255,255,255,1,"			背包模块实装");
    	read(time3,255,255,255,1,"1.2");
    	read(time1,255,255,255,1,"    1.2.1   2025.3.27");
    	read(time0,255,255,255,1,"         界面大改");
    	read(time0,255,255,255,1,"         颜色显示模块重装开始(RGB)");
    	read(time1,255,255,255,1,"    1.2.2   2025.4.18");
    	read(time0,255,255,255,1,"         战斗部分改动");
    	read(time0,255,255,255,1,"         Tips更新");
    	read(time1,255,255,255,1,"    1.2.3   2025.4.25");
    	read(time0,255,255,255,1,"         优化代码结构");
    	read(time0,255,255,255,1,"         少量平衡性改动");
    	read(time1,255,255,255,1,"    1.2.4   2025.4.28");
    	read(time0,255,255,255,1,"         颜色显示模块重装完成(RGB)");
    	read(time0,255,255,255,1,"         Tips更新");
    	read(time3,255,255,255,1,"1.3");
    	read(time1,255,255,255,1,"    1.3.1   2025.6.1");
    	read(time0,255,255,255,1,"         Tips更新");
    	read(time0,255,255,255,1,"         引导教程调整");
    	read(time1,255,255,255,1,"    1.3.2   2025.6.7");
    	read(time0,255,255,255,1,"         Tips更新");
    	read(time0,255,255,255,1,"         引导教程更新:[道]");
    	read(time1,255,255,255,1,"    1.3.3   2025.6.10");
    	read(time0,255,255,255,1,"         引导教程更新:区域");
    	read(time0,255,255,255,1,"         修复了读档模块");
    	read(time1,255,255,255,1,"    1.3.4   2025.6.15");
    	read(time0,255,255,255,1,"         Tips更新");
    	read(time0,255,255,255,1,"         战斗模块优化");
    	read(time3,255,255,255,1,"1.4");
    	read(time1,255,255,255,1,"    1.4.1   2025.6.28");
    	read(time0,255,255,255,1,"         修复战斗模块");
    	read(time0,255,255,255,1,"         代码优化");
    	sleep(2);
    	read(time2,255,255,255,1,"输入1以继续...");
    	cin>>D;
    	return ;
    }
    void backpack(){
    	for(int qq=1;qq<=5;qq++){
    		for(int qqq=1;qqq<=9;qqq++){
    			if(h[qq][qqq]!=0){
    				read(time0,255,255,255,1,ts(qqq)+"阶"+potionname[qq]+ts(h[qq][qqq])+"瓶");
    			}
    		}
    	}
    	sleep(2);
    	read(time1,255,255,255,1,"输入1以继续");
    	cin>>C;
    	return ;
    }
    void setcolor(){
    	DWORD dwMode=0;
    	GetConsoleMode(G,&dwMode);
    	dwMode|=ENABLE_VIRTUAL_TERMINAL_PROCESSING;
    	SetConsoleMode(G,dwMode);
    	return ;
    }
    
    int main(){
    	setcolor();
    	introduction();
    	while(judge1){
    		checkstatus();
    		firstpage();
    		cin>>A;
    		Aaa=to_int(A);
    		switch(Aaa){
    			case(1):
    				travelto();
    				break;
    			case(2):
    				explore();
    				break;
    			case(3):
    				training(1);
    				break;
    			case(4):
    				challenge();
    				break;
    			case(5):
    				rest();
    				break;
    			case(6):
    				tips();
    				break;
    			case(7):
    				settings();
    				break;
    			case(8):
    				savefile();
    				break;
    			case(9):
    				readfile();
    				break;
    			case(10):
    				paiwei();
    				break;
    			case(11):
    				llog();
    				break;
    			case(12):
    				savefile();
    				judge1=false;
    				break;
    			case(13):
    				backpack();
    				break;
    			default:
    				read(time2,255,255,255,1,"nothing here");
    				sleep(4);
    				break;
    		}
    	}
    	return 0;
    }
    
  • Recent Activities