//永恒大陆 1.5.1 测试版
#include <bits/stdc++.h>
#include <omp.h>
#include<windows.h>
#include<iostream>
#include<stack>
#include<bits/stdc++.h>
#include<cmath>
#include<iomanip>
#include<windows.h>   
#include <stdio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include <stdio.h>
#include <iostream>
#include <cstdio>
#include <unistd.h>
#include <limits>
#include <cstdlib>
#include<bits/stdc++.h>
#include<cmath>
#include<windows.h>
//#pragma omp parallel while
//#pragma omp parallel for
//#pragma GCC always_inline
#define endl "\n"  
#define ll long long
//#define cout printf
using namespace std;
long long int i,j,k,z,xz,gb=300,dj=1,djc=20,dt=1;
const ll tfsz=34,wpsl=6;
bool yj=0;
vector<string> abb;
//GetAsyncKeyState()
inline void cd(int x) {
	Sleep(x);
	system("cls");
}
void de1(int x) {
	int y=0;
	switch (x) {
	case 1:
		y=15;
		break;
	case 2:
		y=10;
		break;
	case 3:
		y=9;
		break;
	case 4:
		y=13;
		break;
	case 5:
		y=14;
		break;
	case 6:
		y=12;
		break;
	}
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
int de2(int x) {
	int y=0;
	switch (x) {
	case 1:
		y=15;
		break;
	case 2:
		y=10;
		break;
	case 3:
		y=9;
		break;
	case 4:
		y=13;
		break;
	case 5:
		y=14;
		break;
	case 6:
		y=12;
		break;
	}
	return y;
}
void gs1(string x) {
	int a=x.size()-1;
	for(i=0; i<=a; ++i) {
		Sleep(100);
		cout<<x[i];
	}
}
void gs2(string x,int z) {
	int a=x.size()-1;
	for(i=0; i<=a; ++i) {
		Sleep(z);
		cout<<x[i];
	}
}
struct zb {
	string nz;
	string js; 
	ll pzz;
	ll lx;
	ll xl;
	ll gj;
	ll fy;
	ll bj;
	ll mbj;
	ll sb;
	ll msb; 
	ll pjz;
	ll pjs;
	ll smh;
	int jg;	
};
struct wj {
	string mz;
	ll xl;
	ll gj;
	ll fy;
	ll bj;
	ll mbj;
	ll sb;
	ll msb;
	ll pjz;
	ll pjs;
	ll smh;
	double xlb;
	double gjb;
	double fyb;
	double pjsb;
	double smhb;
	zb ja[5];
	bool jaz[5];
};
struct sp {
	ll pz;
	string nz;
	long long sl;
};
struct khm {
	bool ma;
	string mz;
	void a11(int x) {
		if(x==1)cout<<"新手礼包克换成功"<<endl;
		Sleep(1000);
		system("cls");
	}
};
struct pp {
	string nz;
	long long int xg;
	long long int sl;
	long long int jg;
};
struct tf{
	string mz;
	double xlb;
	double gjb;
	double fyb;
	ll bj;
	ll mbj;
	ll sb;
	ll msb;
	ll pjz;
	double pjsb;
	double smhb;
	ll jg;
};
struct wp{
	ll pz; 
	string mz;
	ll sl;
	long long jg;
};
wj rw={"",0,0,0,0,0,0,0,0,0,0,1,1,1,1,1},gw[10][10];
sp ps[6]={{1,"碎片",0},{2,"碎片",0},{3,"碎片",0},{4,"碎片",0},{5,"碎片",0},{6,"碎片",0}};
wp dx[wpsl][6]={  { {1,"一阶兽肉",0,1},{2,"二阶兽肉",0,5},{3,"三阶兽肉",0,15},{4,"四阶兽肉",0,30},{5,"五阶兽肉",0,50},{6,"六阶兽肉",0,100} }  ,  { {1,"一阶兽经",0,2},{2,"二阶兽经",0,6},{3,"三阶兽经",0,35},{4,"四阶兽经",0,70},{5,"五阶兽经",0,100},{6,"六阶兽经",0,150} }  ,  { {1,"一阶兽骨",0,1},{2,"二阶兽骨",0,5},{3,"三阶兽骨",0,15},{4,"四阶兽骨",0,30},{5,"五阶兽骨",0,50},{6,"六阶兽骨",0,100} }  ,  { {1,"一阶兽皮",0,5},{2,"二阶兽皮",0,15},{3,"三阶兽皮",0,30},{4,"四阶兽皮",0,60},{5,"五阶兽皮",0,150},{6,"六阶兽皮",0,350} }  ,  { {1,"一阶内丹",0,20},{2,"二阶内丹",0,60},{3,"三阶内丹",0,100},{4,"四阶内丹",0,200},{5,"五阶内丹",0,600},{6,"六阶内丹",0,1200} }  ,  { {1,"一阶赤石",0,10},{2,"二阶赤石",0,30},{3,"三阶赤石",0,60},{4,"四阶赤石",0,150},{5,"五阶赤石",0,350},{6,"六阶赤石",0,700} } };
tf tfz[tfsz];
khm mz[10];
vector<zb> zbbb;
const int shul=6;
zb sbd[shul];
void csgw();
long long int g;
void ggb() {
    HWND hwnd = GetConsoleWindow();
    LONG style = GetWindowLong(hwnd, GWL_STYLE);
    style &= ~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX  | WS_THICKFRAME);
    SetWindowLong(hwnd, GWL_STYLE, style);
    SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, 
    SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
}
string pzm(int a) {
	string sb;
	switch(a) {
	case 1:
		sb="普通 ";
		break;
	case 2:
		sb="罕见 ";
		break;
	case 3:
		sb="稀有 ";
		break;
	case 4:
		sb="史诗 ";
		break;
	case 5:
		sb="传奇 ";
		break;
	case 6:
		sb="神话 ";
		break;
	}
	return sb;
}
void love();
void aa();
void kt();
void sd();
void bg();
void sx();
void ddo();
void cw();
void gwdlw();
void pmh();
void yjt(wj x1);
void yjddo();
inline void gs(long long h, long long l, string z) {
	for (long long i = 1; i <= h; i++)
		cout << "\n";
	for (long long i = 1; i <= l; i++)
		cout << " ";
	cout << z;
	return;
}
struct hl {
	long long h,l;
};
void de(int x) {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);
}
bool ax(long long key) {
	return (GetKeyState(key) < 0) ? (true) : (false);
}
typedef void (*hs)();
struct wdj {
	int x1,x2,y1,y2;
	string z;
	hs h;
};
bool axj(long long key) {
	return (GetKeyState(key) < 0) ? (true) : (false);
}
void srwj() {
	de(15);
	int saved_fd = dup(STDIN_FILENO);
	if (saved_fd == -1) {
		cerr << "保存 stdin 失败\n";
		while(1) {}
	}
	if (freopen("yhdl.txt", "r", stdin) == NULL) {
		close(saved_fd);
		cout<<"无存档"<<endl;
		exit(0);
	}
	int ccc;
	cin.clear();
	while ((ccc = getchar()) != '\n' && ccc != EOF);
	if (dup2(saved_fd, STDIN_FILENO) == -1) {
		cerr << "恢复 stdin 失败\n";
		close(saved_fd);
		while(1) {}
	}
	close(saved_fd);
	cin.clear();
	cin.sync();
	cout<<"读档成功";
	Sleep(1000);
	system("cls");
}
void drwj() {
	int saved_stdout = dup(STDOUT_FILENO);
	if (saved_stdout == -1) {
		perror("dup failed");
		while(1) {}
	}
	if (freopen("yhdl.txt", "w", stdout) == NULL) {
		//perror("freopen failed");
		
	}
	fflush(stdout);
	if (dup2(saved_stdout, STDOUT_FILENO) == -1) {
		perror("dup2 failed");
		while(1) {}
	}
	close(saved_stdout);
}
hl wz(bool x = 1, bool n = 1) {
	HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);HWND h = GetForegroundWindow();
	CONSOLE_FONT_INFO consoleCurrentFont;hl hl;POINT p;if (x) {GetCursorPos(&p);ScreenToClient(h, &p);} else {GetCursorPos(&p);}if (n) {GetCurrentConsoleFont(hOutput, FALSE, &consoleCurrentFont);p.x /= consoleCurrentFont.dwFontSize.X;p.y /= consoleCurrentFont.dwFontSize.Y;}hl.h = p.y + 1;hl.l = p.x + 1;return hl;
}
void ycbj() {
	HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);DWORD mode;GetConsoleMode(hStdin, &mode);mode &= ~ENABLE_QUICK_EDIT_MODE;SetConsoleMode(hStdin, mode);return;
}
void ycgb() {
	CONSOLE_CURSOR_INFO cursor;
	cursor.bVisible = FALSE;
	cursor.dwSize = sizeof(cursor);
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorInfo(handle, &cursor);
	return;
}
inline void ydgb(long long h, long long l) {
	COORD pos = { l - 1,h - 1 };
	HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut, pos);
	return;
}
string jcjp() {
	if(GetAsyncKeyState('1'))return "1";if(GetAsyncKeyState('2'))return "2";if(GetAsyncKeyState('3'))return "3";if(GetAsyncKeyState('4'))return "4";if(GetAsyncKeyState('5'))return "5";if(GetAsyncKeyState('6'))return "6";if(GetAsyncKeyState('7'))return "7";if(GetAsyncKeyState('8'))return "8";if(GetAsyncKeyState('9'))return "9";if(GetAsyncKeyState('0'))return "0";if(GetAsyncKeyState(VK_BACK))return "b";if(GetAsyncKeyState(13))return "a";return "";
}
void bxwz(int size) {
	CONSOLE_FONT_INFOEX cfi = { sizeof(cfi) };GetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);cfi.dwFontSize.Y = size; // 修改字体高度SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
}
void spz(){
}
void sjt(){
	cout<<"这次升级需要"<<djc<<"G"<<endl;
	cout<<"1/0 是否升级"<<endl;
	char ch;
	int a1=1,a2=dj;
	ch=getch();
	if(ch=='1'){
		if(gb>=djc){
			cout<<"升级成功"<<endl;
			cout<<"你是"<<dj+1<<"级了"<<endl;
			while(a2){
				a1*=2;  
				a2--;
			}
			rw.xl+=a1*10;
			rw.gj+=a1*5;
			dj++;
			djc*=5;
		}else{
			cout<<"G不够"<<endl;
		}
	} 
}
bool pdbj(int y,int x1,int x2,int ys,string zt){
	ycgb();
	ycbj();
	hl z=wz(1,1);
	bool a=0;
	if(z.h==y&&z.l>=x1&&z.l<=x2){ydgb(y,x1);de(ys*16);cout<<zt;de(15);if(axj(VK_LBUTTON)){a=1;} 
	}else{ydgb(y,x1);de(ys);cout<<zt;de(15);}
	de(15);
	return a;
}
int main() {
	system("title 永恒大陆1.5");
	ggb();
	cin.tie(0);
	cout.tie(0);
	//ios::sync_with_stdio(false);
	//system("mode con cols=150 lines=50");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
	ycgb();
	ycbj();
	csgw();
	aa();
	kt();
	//zb a={"11",6,4,100,100,10000};
	//zbbb.push_back(a);
	int x1=3,y1=2;
	hl z;
	while(1){
		z=wz(1,1);
		ydgb(1,1);
		cout<<"##############"<<endl;
		cout<<"#            #"<<endl;
		cout<<"#           0#"<<endl;
		cout<<"#           0#"<<endl;
		cout<<"#   1        #"<<endl;
		cout<<"##############"<<endl;
		cout<<"上下左右键移动"<<endl;
		cout<<"1 商店  0 城外"<<endl;
		ydgb(y1,x1);
		cout<<"@";
		Sleep(200);
		if(GetAsyncKeyState(VK_LEFT)&&x1>2){
			ydgb(y1,x1);cout<<" ";if(x1-1==5&&y1==5)sd();else if(x1-1==13&&(y1==3||y1==4))cw();else x1--;
		}
		if(GetAsyncKeyState(VK_RIGHT)&&x1<=12){
			ydgb(y1,x1);cout<<" ";if(x1+1==5&&y1==5)sd();else if(x1+1==13&&(y1==3||y1==4))cw();else x1++;
		}
		if(GetAsyncKeyState(VK_UP)&&y1>2){
			ydgb(y1,x1);cout<<" ";if(x1==5&&y1-1==5)sd();else if(x1==13&&(y1-1==3||y1-1==4))cw();else y1--;
		}
		if(GetAsyncKeyState(VK_DOWN)&&y1<=4){
			ydgb(y1,x1);cout<<" ";if(x1==5&&y1+1==5)sd();else if(x1==13&&(y1+1==3||y1+1==4))cw();else y1++;
		}
		
		if(z.h==1&&z.l>=27&&z.l<=34){ydgb(1,27);de(240);cout<<"查看属性";de(15);if(axj(VK_LBUTTON)){sx();} 
		}else{ydgb(1,27);cout<<"查看属性";}
		if(z.h==2&&z.l>=27&&z.l<=30){ydgb(2,27);de(240);cout<<"背包";de(15);if(axj(VK_LBUTTON)){bg();} 
		}else{ydgb(2,27);cout<<"背包";}
	}
	return 0;
}
void wjxsz(wj x){ 	
	ydgb(3,15);cout<<"血量:"<<x.xl<<"   ";
	ydgb(4,15);cout<<"攻击:"<<x.gj<<"   ";
	ydgb(5,15);cout<<"防御:"<<x.fy<<"   ";
	ydgb(6,15);cout<<"闪避:"<<x.sb<<"%"<<"   ";
	ydgb(7,15);cout<<"免闪避:"<<x.msb<<"%"<<"   ";
	ydgb(8,15);cout<<"暴击:"<<x.bj<<"%"<<"   ";
	ydgb(9,15);cout<<"免暴击:"<<x.mbj<<"%"<<"   ";
	ydgb(10,15);cout<<"破甲率:"<<x.pjz<<"%"<<"   ";
	ydgb(11,15);cout<<"破甲伤害:"<<x.pjs<<"   ";
	ydgb(12,15);cout<<"恢复血量:"<<x.smh<<"   "; 	
}
void wjxsz1(tf x){ 	
    if(x.xlb<0)cout<<"";
	else if(x.xlb) cout<<"+";
	if(x.xlb)cout<<x.xlb*100<<"%血量 ";
	
	if(x.gjb<0)cout<<"";
	else if(x.gjb) cout<<"+";
	if(x.gjb)cout<<x.gjb*100<<"%攻击 ";
	
	if(x.fyb<0)cout<<"";
	else if(x.fyb) cout<<"+";
	if(x.fyb)cout<<x.fyb*100<<"%防御 ";
	
	if(x.bj<0)cout<<"";
	else if(x.bj) cout<<"+";
	if(x.bj)cout<<x.bj<<"%暴击 ";
	
	if(x.mbj<0)cout<<"";
	else if(x.mbj) cout<<"+";
	if(x.mbj)cout<<x.mbj<<"%免暴击 ";
	
	if(x.sb<0)cout<<"";
	else if(x.sb) cout<<"+";
	if(x.sb)cout<<x.sb<<"%闪避 ";
	
	if(x.msb<0)cout<<"";
	else if(x.msb) cout<<"+";
	if(x.msb)cout<<x.msb<<"%免闪避 ";
	
	if(x.pjz<0)cout<<"";
	else if(x.pjz) cout<<"+";
	if(x.pjz)cout<<x.pjz<<"%破甲率 ";
	
	if(x.pjsb<0)cout<<"";
	else if(x.pjsb) cout<<"+";
	if(x.pjsb)cout<<x.pjsb*100<<"%破甲伤害 ";
	
	if(x.smhb<0)cout<<"";
	else if(x.smhb) cout<<"+"; 
	if(x.smhb)cout<<x.smhb*100<<"%恢复血量 ";
	
	if(x.jg<0)cout<<"-";
	cout<<x.jg<<"点 天赋点"; 
}
void wjxsz2(tf &x,tf y){
	x.xlb+=y.xlb;
	x.gjb+=y.gjb;
	x.fyb+=y.fyb;
	x.bj+=y.bj;
	x.mbj+=y.mbj;
	x.sb+=y.sb;
	x.msb+=y.msb; 
	x.pjsb+=y.pjsb;
	x.pjz+=y.pjz;
	x.smhb+=y.smhb;
}
void wjxsz3(tf &x,tf y){
	x.xlb-=y.xlb;
	x.gjb-=y.gjb;
	x.fyb-=y.fyb;
	x.bj-=y.bj;
	x.mbj-=y.mbj;
	x.sb-=y.sb;
	x.msb-=y.msb; 
	x.pjsb-=y.pjsb;
	x.pjz-=y.pjz;
	x.smhb-=y.smhb;
}
void kt() {
	system("mode con cols=50 lines=25");
	ydgb(12,16);
	cout<<"加载中.....";
	for(int i=1;i<=100;++i){
		ydgb(12,27);
		cout<<i<<"%   ";
		Sleep(10);
	}
	cd(100);
	srand(time(0));
	for(int i=1;i<=200;++i){
		for(int j=1;j<=20;++j){
			de(rand()%15+1);cout<<"★ ";
		}
		Sleep(5);
		 
	}
	cd(100);
	de(15);
	gs1("欢迎来到永恒大陆1.5.1 ... 正式测试版");
	cout<<endl;                                                                                                                                                                                                                                                                                                                                  int love1=0;
	cd(1000);
	srand(time(0));
	ll x=0;
	ll a;
	bool dx1[5]={1,1,1,1,1};
	ll ddx=1,dx[5]={3,3,3,3,3},dy[5]={rand()%23+2,rand()%23+2,rand()%23+2,rand()%23+2,rand()%23+2},dys[5]={rand()%15+1,rand()%15+1,rand()%15+1,rand()%15+1,rand()%15+1};
	for(int i=1;i<=5;++i){
		while(dy[i]==8||dy[i]==10||dy[i]==12){
			dy[i]=rand()%23+2; 
		}
	}
	while(1){
		if(x%10==0&&ddx<5)ddx++;
		for(int i=1;i<=ddx;++i)
		if(dx1[i]){
			ydgb(dy[i],dx[i]);
			de(dys[i]);
			cout<<"永恒大陆";
			dx1[i]=0;
			dx[i]++;
			ydgb(dy[i],dx[i]-1);
			cout<<"  ";
		}else{
			ydgb(dy[i],dx[i]);
			de(dys[i]);
			if(dx[i]<=46)cout<<" 永";
			if(dx[i]<=44)cout<<"恒";
			if(dx[i]<=42)cout<<"大";
			if(dx[i]<=40)cout<<"陆";
			dx[i]++;
			if(dx[i]>=48){
				ydgb(dy[i],dx[i]-1);
				cout<<"  ";
				dx[i]=3,dy[i]=rand()%23+2,dys[i]=rand()%15+1;
				while(dy[i]==8||dy[i]==10||dy[i]==12){
					dy[i]=rand()%23+2; 
				}
				dx1[i]=1; 
			}
		}
		if(x%20==0)a=rand()%15+1;
		de(a); 
		for(int i=1;i<=25;++i){
			ydgb(i,1);
		    cout<<"★"; 
		}
		for(int i=1;i<=25;++i){
			ydgb(i,49);
		    cout<<"★"; 
		} 
		for(int i=1;i<=49;i+=2){
			ydgb(1,i);
		    cout<<"★"; 
		} 
		for(int i=1;i<=49;i+=2){
			ydgb(25,i);
		    cout<<"★"; 
		}
		if(x%50==0){
		ydgb(8,21);
		de(rand()%15+1);
		cout<<"永恒大陆";	
		}
		if(pdbj(10,23,32,15,"开始")){
			break;
		}
		if(pdbj(12,23,32,15,"详情")){
			cd(1000);
			gs1("这是一款制作约有半年的游戏历经5次版本大更新");
			cout<<endl;
			gs1("还记得这是在作者初一时制作的当时还只有文字技术很差只有单纯的输入输出");
			cout<<endl;
			gs1("现在是1.5大版本技术得到飞越式的提升...........其实是1.4太多bug了作者懒得修重做了而已");
			cout<<endl;
			gs1("下面是制作人和灵感来源即版本号");
			cout<<endl;
			cout<<"游戏名:永恒大陆"<<endl;
			cout<<"版本号:1.5.1"<<endl;
			cout<<"制作人:linoeiqi ----更多内容在gf24160的博客里"<<endl;
			cout<<"灵感来源:yaoyiming"<<endl;
			while(1){
				if(pdbj(12,1,4,12,"退出")){
					cd(100);break;
				}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           if(love1==1200){love();break;}Sleep(50);love1++;
			} 
		} 
		x++;
		Sleep(1);
	} 
	system("mode con cols=150 lines=50");
	cd(100);
	gs1("输入你的名字");
	cout<<endl;
	cin>>rw.mz;
	cd(100);
	wj sz[3];
	/*string mz;
	ll xlb;
	ll gjb;
	ll fyb;
	ll bj;
	ll mbj;
	ll sb;
	ll msb;
	ll pjz;
	ll pjsb;
	ll smhb;
	ll jg;
	tfz[]={"",0,0,0,0,0,0,0,0,0,0,};
	*/
	tfz[0]={"重铁指虎",0,0.05,0,0,0,0,0,0,0.05,0,1};
	tfz[1]={"王八壳",0,0,0.05,0,0,5,0,0,0,0,1};
	tfz[2]={"固化术",0.05,0,0.05,0,0,0,0,0,0,0,1};
	tfz[3]={"皮肤固化",0.1,0,0.05,0,0,0,0,0,0,0,2};
	tfz[4]={"疾速",0,0,0,0,0,5,5,0,0,0,2};
	tfz[5]={"武艺增生",0.05,0.05,0.05,5,0,0,0,0,0,0,2};
	tfz[6]={"铜墙铁壁",0,0,0.15,0,0,0,0,0,0,0,2};
	tfz[7]={"软骨术",0,0,0.1,0,0,5,0,0,0,0,2};
	tfz[8]={"大胃王",0.05,0,0,0,0,0,0,0,0,0.05,2};
	tfz[9]={"铁砂掌",0,0.1,0,5,0,0,0,0,0,0,2};
	tfz[10]={"破伤风拳套",0,0.15,0,5,0,0,0,5,0.15,0,5};
	tfz[11]={"不坏金身",0.15,0,0.15,0,5,0,0,0,0,0.05,5};
	tfz[12]={"攻防皆备",0.15,0.15,0,0,5,0,0,5,0,0,5};
	tfz[13]={"虚空步",0,0,0.05,0,0,15,15,0,0,0,5};
	tfz[14]={"百艺精通",0.1,0.1,0.1,5,0,5,0,0,0,0,5};
	tfz[15]={"生命法则",0.15,0,0.05,0,0,5,0,0,0,0.15,5};
	tfz[16]={"防御法则",0.05,0,0.3,0,0,0,0,0,0,0.05,5};
	tfz[17]={"力量法则",0,0.3,0,10,0,0,0,0,5,0,5};
	tfz[18]={"血之法则",0.3,0,0.05,0,0,0,0,0,0,0.05,5};
	tfz[19]={"血魔圣体",0.5,0.1,-0.2,0,0,0,0,10,0.1,0.1,};
	tfz[20]={"六道轮回圣体",0.3,0.3,0.3,-40,0,0,0,0,0,0.1,7};
	tfz[21]={"荒古圣体",0,0.5,0.1,0,0,0,-10,20,0.2,0.2,7};
	tfz[22]={"空灵仙体",0.1,0.1,-0.35,0,40,40,20,0,0,0.1,8};
	tfz[23]={"太古剑仙体",0.1,0.75,-0.5,40,0,0,20,20,0.2,0,8};
	tfz[24]={"长生仙体",0.5,-0.3,0.4,0,30,0,0,0,0,0.2,8};
	tfz[25]={"道源仙体",0.2,0.4,0.4,0,0,-10,0,0.2,0,0.2,8};
	tfz[26]={"远古寂灭神体",0.1,1,-0.5,0,0,0,0,20,0.2,-0.75,9};
	tfz[27]={"太虚游龙神体",-0.3,0.2,0.2,0,0,40,0,10,-0.2,-0.1,9};
	tfz[28]={"九龙玄阳神体",1,0.1,0,10,-20,-30,0,20,0.15,-0.1,9};
	tfz[29]={"极冰血魔神体",-0.5,0.4,-0.3,0,0,0,0,50,0.5,-0.5,9};
	tfz[30]={"朱雀帝灵体",0.1,0.8,0,10,0,20,0,10,0.1,0.2,10};
	tfz[31]={"玄龟帝灵体",0,0.1,0.8,20,40,0,20,10,0,0.2,10};
	tfz[32] = {"白虎帝灵体",0.8,0.1,0,40,0,20,0,10,0,0.2,10};
	tfz[33] = {"青龙帝灵体",0.2,0.2,0.2,20,20,20,0,20,0.2,0.2,10};
	sz[0]={rw.mz,20,2,4,0,0,0,0,5,5,2,rw.xlb,rw.gjb,rw.fyb,1,1};sz[1]={rw.mz,8,5,2,20,0,10,0,15,10,1,rw.xlb,rw.gjb,rw.fyb,1,1};sz[2]={rw.mz,12,4,2,10,5,5,5,5,5,1,rw.xlb,rw.gjb,rw.fyb,1,1};
	gs1("选择你的职业");
	cout<<endl<<"肉盾"<<endl;
	cout<<"刺客"<<endl;
	cout<<"剑士"<<endl; 
	hl z;
	bool az=1;
	while(az){
		ydgb(1,1);cout<<"选择你的职业";
		z=wz(1,1);
		if(z.h==2&&z.l<=4){ydgb(2,1);de(240);cout<<"肉盾";de(15);wjxsz(sz[0]);if(axj(VK_LBUTTON)){az=0;rw=sz[0];} 
		}else{ydgb(2,1);cout<<"肉盾";}
		
		if(z.h==3&&z.l<=4){ydgb(3,1);de(240);cout<<"刺客";de(15);wjxsz(sz[1]);if(axj(VK_LBUTTON)){az=0;rw=sz[1];} 
		}else{ydgb(3,1);cout<<"刺客";}
		
		if(z.h==4&&z.l<=4){ydgb(4,1);de(240);cout<<"剑士";de(15);wjxsz(sz[2]);if(axj(VK_LBUTTON)){az=0;rw=sz[2];} 
		}else{ydgb(4,1);cout<<"剑士";}
	} 
	az=1;
	cd(100);
	int tfd=10;
	tf xzd={"",0,0,0,0,0,0,0,0,0,0,0};
	
	bool xs[tfsz];
	fill(xs,xs+tfsz,0);
	while(az){
		ydgb(1,1);cout<<"选择你的天赋 10/"<<tfd<<"  ";
		
		
		z=wz(1,1);
		for(int i=0;i<tfsz;++i){
			if(z.h==i+2&&z.l<=tfz[i].mz.size()){ydgb(i+2,1);if(!xs[i])de(240);else de(15);cout<<tfz[i].mz;de(15);wjxsz1(tfz[i]);if(axj(VK_LBUTTON)){Sleep(250);if(!xs[i]&&tfd>=tfz[i].jg){abb.push_back(tfz[i].mz);wjxsz2(xzd,tfz[i]);tfd-=tfz[i].jg;xs[i]=1;xzd.jg+=tfz[i].jg;}else if(xs[i]){abb.pop_back();wjxsz3(xzd,tfz[i]);tfd+=tfz[i].jg;xs[i]=0;xzd.jg-=tfz[i].jg;}} 
			}else{ydgb(i+2,1);if(xs[i])de(240);else de(15); cout<<tfz[i].mz;de(15);cout<<"                                                                                                                                   ";}	
		}
		ydgb(tfsz+2,1);cout<<"总加成:";wjxsz1(xzd);cout<<"                                                                                                    ";
		ydgb(tfsz+3,1);cout<<"天赋:";for(int i=0;i<abb.size();++i)cout<<abb[i]<<" ";cout<<"                                                                                                  ";
		if(z.h==tfsz+4&&z.l<=4){ydgb(tfsz+4,1);de(240);cout<<"确定";de(15);if(axj(VK_LBUTTON)){az=0;} 
		}else{ydgb(tfsz+4,1);cout<<"确定";}
	}
	rw.xlb+=xzd.xlb;
	rw.gjb+=xzd.gjb;
	rw.fyb+=xzd.fyb;
	rw.sb+=xzd.sb;
	rw.msb+=xzd.msb;
	rw.bj+=xzd.bj;
	rw.mbj+=xzd.mbj;
	rw.pjz+=xzd.pjz;
	rw.pjsb+=xzd.pjsb;
	rw.smhb+=xzd.smhb;
	cd(1000); 
}
void sd() {
	while(1){
		cd(100);
	int xz=0;
	while(!xz){
	    if(pdbj(1,1,8,15,"出售材料"))xz=1;
		if(pdbj(2,1,8,15,"购买装备"))xz=2;
		if(pdbj(3,1,4,12,"退出"))return;
	}
	cd(200); 
	if(xz==1){
		int xz1=0;
		while(!xz1){
			for(int i=1;i<=6;++i){
				string szcz="出售";
				szcz+=pzm(i);
				szcz+="兽材";
				if(pdbj(i,1,11,de2(i),szcz))xz1=i;
			}
			if(pdbj(7,1,4,12,"退出"))xz1=7;
		}
		cd(100);
		if(xz1<7){
			while(1){
				ydgb(1,1);
				cout<<"G:"<<gb<<endl;	 
				for(int i=0;i<wpsl;++i){
				string szcz="出售";
				szcz+=dx[i][xz1-1].mz;
				ydgb(i+2,szcz.size()+4);
				cout<<dx[i][xz1-1].sl<<" 个   "<<dx[i][xz1-1].jg<<"G一个             ";
				   if(pdbj(i+2,1,szcz.size(),de2(xz),szcz)&&dx[i][xz1-1].sl>0){
					  dx[i][xz1-1].sl--;
					  gb+=dx[i][xz1-1].jg;
				   }
			    }
				if(pdbj(wpsl+2,1,4,12,"退出")){
					break;
				}
			}
		}
	}
	if(xz==2){
	while(1){
		ydgb(1,1);cout<<"G:"<<gb<<"            "<<endl;
		for(int i=1;i<shul;++i){
			ydgb(i+1,sbd[i].nz.size()+2);
			cout<<sbd[i].jg<<"G"; 
			if(pdbj(i+1,1,sbd[i].nz.size(),de2(sbd[i].pzz),sbd[i].nz)){
				cd(100);
				de1(sbd[i].pzz);
								cout<<"名字:"<<sbd[i].nz<<endl;
								cout<<"介绍:"<<sbd[i].js<<endl;
								cout<<"血量:"<<sbd[i].xl<<endl;
								cout<<"攻击:"<<sbd[i].gj<<endl;
								cout<<"防御:"<<sbd[i].fy<<endl;
								cout<<"闪避:"<<sbd[i].sb<<"%"<<endl;
								cout<<"免闪避:"<<sbd[i].msb<<"%"<<endl;
								cout<<"暴击:"<<sbd[i].bj<<"%"<<endl;
								cout<<"免暴击:"<<sbd[i].mbj<<"%"<<endl;
								cout<<"破甲率:"<<sbd[i].pjz<<"%"<<endl;
								cout<<"破甲伤害:"<<sbd[i].pjs<<endl;
								cout<<"恢复血量:"<<sbd[i].smh<<endl;
								cout<<"价格:"<<sbd[i].jg<<endl; 
								cout<<"是否购买"<<endl;
								bool c1d=0;
								while(1){
									hl z=wz(1,1);
									if(z.h==15&&z.l<=2){ydgb(15,1);de(de2(sbd[i].pzz)*16);;cout<<"是";de1(sbd[i].pzz);if(axj(VK_LBUTTON)){c1d=1;break;} 
									}else{ydgb(15,1);cout<<"是";}
									if(z.h==15&&z.l>=5&&z.l<=6){ydgb(15,5);de(de2(sbd[i].pzz)*16);cout<<"否";de1(sbd[i].pzz);if(axj(VK_LBUTTON)){break;} 
									}else{ydgb(15,5);cout<<"否";}
								}
							    cd(100);
								if(c1d&&gb>=sbd[i].jg){
									cout<<"恭喜你获得"<<sbd[i].nz<<endl;
									cout<<"G币减"<<sbd[i].jg<<endl;
									gb-=sbd[i].jg;
									zbbb.push_back(sbd[i]);
									cd(2000);
								}else if(c1d){
									cout<<"G币不够"<<endl;
									cd(2000);
								} 
								
								de(15);
			}
		}
		if(pdbj(shul+1,1,4,12,"退出"))break;
	}	
	}
	
	}
		
}
void gwdlw(int x,int y) {
	cd(100);
    cout<<"你正在捡起掉落物"<<endl;
	for(int i=1;i<=10;++i){
		cout<<".";
		Sleep(200);
	} 
	cout<<endl<<"恭喜你获得"<<endl;
	srand(time(0));
	if(x==1){
		if(y==1){
			int a=rand()%4,b=rand()%5+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%5+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
		}
		if(y==2){
			int a=rand()%4,b=rand()%8+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%8+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
		}
		if(y==3){
			int a=rand()%4,b=rand()%10+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%10+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%10+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
		}
		if(y==4){
			int a=rand()%4,b=rand()%15+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%15+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%15+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
		}
		if(y==5){
			int a=rand()%4,b=rand()%20+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%20+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4;b=rand()%20+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			if(rand()%3+1==2){
				dx[4][0].sl+=1;
				cout<<dx[4][0].mz<<"1个"<<endl;
			}
		}
		if(y==6){
			int a=rand()%4,b=rand()%20+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4,b=rand()%20+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			a=rand()%4,b=rand()%20+1;
			dx[a][0].sl+=b;
			cout<<dx[a][0].mz<<b<<"个"<<endl;
			if(rand()%2+1==2){
				a=rand()%2+1;
				dx[4][0].sl+=a;
				cout<<dx[4][0].mz<<a<<"个"<<endl;
			}
		}
	}
	cd(1000);
}
void bg(){
	cd(100);
	hl z;
	bool ax=1;
	while(ax){
		z=wz(1,1);
		if(z.h==1&&z.l<=4){//装备 
			ydgb(1,1);
			de(240);
			cout<<"装备";
			de(15);
			if(axj(VK_LBUTTON)){
				cd(100);
				while(!zbbb.empty()){
					z=wz(1,1);
					for(int i=0;i<zbbb.size();++i){
						if(z.h==i+1&&z.l<=zbbb[i].nz.size()){
							ydgb(i+1,1);
							de(de2(zbbb[i].pzz)*16);
							cout<<zbbb[i].nz;
							de(15);
							if(axj(VK_LBUTTON)){
								cd(100);
								de1(zbbb[i].pzz);
								cout<<"名字:"<<zbbb[i].nz<<endl;
								cout<<"介绍:"<<zbbb[i].js<<endl;
								cout<<"血量:"<<zbbb[i].xl<<endl;
								cout<<"攻击:"<<zbbb[i].gj<<endl;
								cout<<"防御:"<<zbbb[i].fy<<endl;
								cout<<"闪避:"<<zbbb[i].sb<<"%"<<endl;
								cout<<"免闪避:"<<zbbb[i].msb<<"%"<<endl;
								cout<<"暴击:"<<zbbb[i].bj<<"%"<<endl;
								cout<<"免暴击:"<<zbbb[i].mbj<<"%"<<endl;
								cout<<"破甲率:"<<zbbb[i].pjz<<"%"<<endl;
								cout<<"破甲伤害:"<<zbbb[i].pjs<<endl;
								cout<<"恢复血量:"<<zbbb[i].smh<<endl;
								cout<<"是否穿带"<<endl;
								bool c1d=0;
								while(1){
									z=wz(1,1);
									if(z.h==14&&z.l<=2){ydgb(14,1);de(de2(zbbb[i].pzz)*16);;cout<<"是";de1(zbbb[i].pzz);if(axj(VK_LBUTTON)){c1d=1;break;} 
									}else{ydgb(14,1);cout<<"是";}
									if(z.h==14&&z.l>=5&&z.l<=6){ydgb(14,5);de(de2(zbbb[i].pzz)*16);cout<<"否";de1(zbbb[i].pzz);if(axj(VK_LBUTTON)){break;} 
									}else{ydgb(14,5);cout<<"否";}
								}
								cd(100);
								de(15);
								if(c1d){
									if(rw.jaz[zbbb[i].lx-1]==0){
										rw.ja[zbbb[i].lx-1]=zbbb[i];
										rw.jaz[zbbb[i].lx-1]=1;
										
										rw.xl+=zbbb[i].xl;
										rw.gj+=zbbb[i].gj;
										rw.fy+=zbbb[i].fy;
										rw.sb+=zbbb[i].sb;
										rw.msb+=zbbb[i].msb;
										rw.bj+=zbbb[i].bj;
										rw.mbj+=zbbb[i].mbj;
										rw.pjz+=zbbb[i].pjz;
										rw.pjs+=zbbb[i].pjs;
										rw.smh+=zbbb[i].smh;
										zbbb.erase(zbbb.begin()+i);
										sx();
									}else cout<<"你已经穿过同一种装备了";
									
									cd(1000);
								}
							}
						}else{
							ydgb(i+1,1);
							de1(zbbb[i].pzz);
							cout<<zbbb[i].nz;
							de(15);
						}
					}	
					if(z.h==zbbb.size()+1&&z.l<=4){ydgb(zbbb.size()+1,1);de(240);cout<<"退出";de(15);if(axj(VK_LBUTTON)){cd(100);break;} 
					}else{ydgb(zbbb.size()+1,1);cout<<"退出";}
				}
				
			}
		}else{
			ydgb(1,1);
			cout<<"装备";
		}
		if(z.h==2&&z.l<=4){//材料 
			ydgb(2,1);
			de(240);
			cout<<"材料";
			de(15);
			if(axj(VK_LBUTTON)){
				cd(100);
				for(int i=0;i<wpsl;++i){
					for(int j=0;j<6;++j){
						if(dx[i][j].sl){
							de1(dx[i][j].pz);cout<<dx[i][j].mz<<" "<<dx[i][j].sl<<"个"<<endl;
						}
					}
				}
				de(15);
				system("pause");
				cd(100);
			}
		}else{
			ydgb(2,1);
			cout<<"材料";
		}
		if(z.h==3&&z.l<=4){//卸装 
			ydgb(3,1);
			de(240);
			cout<<"卸装";
			de(15);
			int sl=0;
			
			if(axj(VK_LBUTTON)){
				cd(100);
				bool xxz[5]={1,1,1,1,1};
				while(rw.jaz[0]||rw.jaz[1]||rw.jaz[2]||rw.jaz[3]||rw.jaz[4]){
					z=wz(1,1);
					sl=0;
					for(int i=0;i<5;++i){
						if(rw.jaz[i]){
							sl++;
							if(z.h==sl&&z.l<=10){ydgb(sl,1);de(de2(rw.ja[i].pzz)*16);cout<<rw.ja[i].nz;de(15);
								if(axj(VK_LBUTTON)){
									cd(100);
									de1(rw.ja[i].pzz);
									cout<<"名字:"<<rw.ja[i].nz<<endl;
									cout<<"介绍:"<<rw.ja[i].js<<endl; 
									cout<<"血量:"<<rw.ja[i].xl<<endl;
									cout<<"攻击:"<<rw.ja[i].gj<<endl;
									cout<<"防御:"<<rw.ja[i].fy<<endl;
									cout<<"闪避:"<<rw.ja[i].sb<<"%"<<endl;
									cout<<"免闪避:"<<rw.ja[i].msb<<"%"<<endl;
									cout<<"暴击:"<<rw.ja[i].bj<<"%"<<endl;
									cout<<"免暴击:"<<rw.ja[i].mbj<<"%"<<endl;
									cout<<"破甲率:"<<rw.ja[i].pjz<<"%"<<endl;
									cout<<"破甲伤害:"<<rw.ja[i].pjs<<endl;
									cout<<"恢复血量:"<<rw.ja[i].smh<<endl;
									cout<<"是否卸装";
									bool c1d=0;
									while(1){
										z=wz(1,1);
										if(z.h==14&&z.l<=2){ydgb(14,1);de(de2(rw.ja[i].pzz)*16);;cout<<"是";de1(rw.ja[i].pzz);if(axj(VK_LBUTTON)){c1d=1;break;} 
										}else{ydgb(14,1);cout<<"是";}
										if(z.h==14&&z.l>=5&&z.l<=6){ydgb(14,5);de(de2(rw.ja[i].pzz)*16);cout<<"否";de1(rw.ja[i].pzz);if(axj(VK_LBUTTON)){break;} 
										}else{ydgb(14,5);cout<<"否";}
									}
									cd(100);
									de(15);
									if(c1d){
										rw.jaz[i]=0;
										rw.xl-=rw.ja[i].xl;
										rw.gj-=rw.ja[i].gj;
										rw.fy-=rw.ja[i].fy;
										rw.sb-=rw.ja[i].sb;
										rw.msb-=rw.ja[i].msb;
										rw.bj-=rw.ja[i].bj;
										rw.mbj-=rw.ja[i].mbj;
										rw.pjz-=rw.ja[i].pjz;
										rw.pjs-=rw.ja[i].pjs;
										rw.smh-=rw.ja[i].smh;
										zbbb.push_back(rw.ja[i]);
										rw.ja[i]={"","",0,0,0,0,0,0,0,0,0,0};
										cd(1000);sl--;
										sx();
									}
								} 
							}else{ydgb(sl,1);de1(rw.ja[i].pzz);cout<<rw.ja[i].nz;de(15);}		
						}
					}
					
					if(z.h==sl+1&&z.l<=4){ydgb(sl+1,1);de(240);cout<<"退出";de(15);if(axj(VK_LBUTTON)){cd(100);break;} 
					}else{ydgb(sl+1,1);cout<<"退出";}
				}
				cd(100);
				de(15);
			}
		}else{
			ydgb(3,1);
			cout<<"卸装";
		}
		if(z.h==4&&z.l<=4){ydgb(4,1);de(240);cout<<"退出";de(15);if(axj(VK_LBUTTON)){cd(100);ax=0;} 
		}else{ydgb(4,1);cout<<"退出";}
	}
}
void aa() {
	gb=0;
	//string nz;pzz;lx;xl;gj;fy;bj;mbj;sb;msb; pjz;pjs;smh;  sbd[]={"","",,0,0,0,0,0,0,0,0,0,0,0,};
	int jg;	
	sbd[1]={"木剑","一把普通的木剑",1,5,2,5,0,0,0,0,0,2,2,0,530};
	sbd[2]={"皮革头盔","由皮革制作而成",1,1,7,1,3,0,1,0,0,0,0,0,640};
	sbd[3]={"皮革甲","由皮革制作而成",1,2,10,0,2,0,3,0,0,0,0,1,876};
	sbd[4]={"皮革裤腿","由皮革制作而成",1,3,5,0,3,0,1,2,0,0,0,0,741};
	sbd[5]={"皮革靴","由皮革制作而成",1,4,3,2,1,0,2,4,1,2,2,0,593};
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            void love(){cd(1000);gs1("..................还没走吗?");cout<<endl;gs1("感谢你对本游戏的支持!!!");cout<<endl<<"--------------------------------"<<endl<<"Process exited after 1.657 seconds with return value 0"<<endl<<"请按任意键继续. . .";Sleep(5000);gs1("看来你还没走那你将获得作者留下的第一个彩蛋————>v<");gb+=600;zb scz={"彩环之剑","作者留下的第一个彩蛋武器",6,5,0,25,15,0,0,5,0,10,10,2,999999999};cout<<endl;gs1("你将获得一把彩环之剑---这足以让你轻松度过前期  和血攻防提升10%   ");zbbb.push_back(scz);rw.xlb+=0.1;rw.gjb+=0.1;rw.fyb+=0.1;cd(1000); }																																																																																																																																																																																																														 
void sx() {
	cd(100);
	de(15);
	cout<<"名字:"<<rw.mz<<endl;
	cout<<"血量:"<<rw.xl*rw.xlb<<"("<<rw.xl<<") * "<<rw.xlb*100<<"%"<<endl;
	cout<<"攻击:"<<rw.gj*rw.gjb<<"("<<rw.gj<<") * "<<rw.gjb*100<<"%"<<endl;
	cout<<"防御:"<<rw.fy*rw.fyb<<"("<<rw.fy<<") * "<<rw.fyb*100<<"%"<<endl;
	cout<<"闪避:"<<rw.sb<<"%"<<endl;
	cout<<"免闪避:"<<rw.msb<<"%"<<endl;
	cout<<"暴击:"<<rw.bj<<"%"<<endl;
	cout<<"免暴击:"<<rw.mbj<<"%"<<endl;
	cout<<"破甲率:"<<rw.pjz<<"%"<<endl;
	cout<<"破甲伤害:"<<rw.pjs*rw.pjsb<<"("<<rw.pjs<<") * "<<rw.pjsb*100<<"%"<<endl;
	cout<<"恢复血量:"<<rw.smh*rw.smhb<<"("<<rw.smh<<") * "<<rw.smhb*100<<"%"<<endl; 
	cout<<"天赋:";for(int i=0;i<abb.size();++i)cout<<abb[i]<<' ';cout<<endl;
	for(i=0; i<5; ++i) {
		if(i==0)cout<<"头盔:";
		if(i==1)cout<<"胸甲:";
		if(i==2)cout<<"裤子:";
		if(i==3)cout<<"鞋子:";
		if(i==4)cout<<"武器:";
		if(rw.jaz[i]) {
			de1(rw.ja[i].pzz);
			cout<<pzm(rw.ja[i].pzz)<<rw.ja[i].nz;
			de(15);
		} else {
			cout<<"无";
		}
		cout<<endl;
	}
	system("pause");
	cd(100);
}
void csgw() {
	/*ll xl;
	ll gj;
	ll fy;
	ll bj;
	ll mbj;
	ll sb;
	ll msb;
	ll pjz;
	ll pjs;
	ll smh;*/
	gw[1][1]={"兔子",10,3,1,0,0,0,0,0,0,1,1,1,1,1,1};
	gw[1][2]={"草原野狼",25,7,2,5,0,5,0,20,5,2,1,1,1,1,1};
	gw[1][3]={"草原狮",50,15,5,10,0,5,0,20,5,2,1,1,1,1,1};
	gw[1][4]={"泥石怪",100,10,10,0,20,10,0,0,0,5,1,1,1,1,1};
	gw[1][5]={"小石头怪",234,20,25,0,50,0,0,20,5,8,1,1,1,1,1};
	gw[1][6]={"草原守护者",340,30,20,10,40,0,5,15,15,5,1,1,1,1,1};
	/*
	gw[6][1]={"",0,0,0,0,0,0,0};
	gw[6][2]={"",0,0,0,0,0,0,0};
	gw[6][3]={"",0,0,0,0,0,0,0};
	gw[6][4]={"",0,0,0,0,0,0,0};
	gw[6][5]={"",0,0,0,0,0,0,0};
	gw[6][6]={"",0,0,0,0,0,0,0};*/
}
long long  yd(bool x,int y,int z) {
	if(x) {
		y++;
	} else {
		y--;
	}
	if(y>z) {
		y=1;
	} else if(y==0) {
		y=z;
	}
	return y;
}
long long ty(int y,int z) {
	if(z>=4)y--;
	else if(z>=1)y++;
	return y;
}
long long  dod(wj x,wj y) { //x 主角 y 被打
	std::srand(static_cast<unsigned int>(std::time(0)));
	int sb=x.sb-y.msb,bj=x.bj-y.mbj,pj=x.pjz,g1j=0;
	g1j=x.gj;
	if(rand()%100+1<=bj)g1j*=2;
	g1j-=y.fy;
	if(g1j<0)g1j=0;
	if(rand()%100+1<=sb)g1j=0;
	if(rand()%100+1<=pj)g1j+=x.pjs;
	return g1j;
}
void ddo(wj x,wj y,int bx,int by) {
	system("mode con cols=50 lines=15");
	x.xl*=x.xlb;
	x.gj*=x.gjb;
	x.fy*=x.fyb;
	x.smh*=x.smhb;
	x.pjs*=x.pjsb;
	ll xxl=x.xl,yxl=y.xl,jxz=1;
	ll x1=1,y1=5,x2=35,y2=5,tyz=0,gjl=0,ggj1=0,ggj2=0,ggj3=0,ggj4=0,ggjc=6,lgj,yyl,szs=1;
	ll gtyz=0,xjn1=0,xjnc=50,xjn1y=0;
	ll xjn2=0,xjn2y1=0,xjn2y2=0,xjn2y3=0,xjnc2=10;
	wj yy1=y;
	yy1.gj/=5;
	srand(time(0));
	if(y.xl>=18)szs=2;
	if(y.xl>=50)szs=3;
	if(y.xl>=150)szs=4;
	if(y.xl>=200)szs=5;
	while(x.xl>0&&y.xl>0) {
		if(jxz==50){
			if(xxl-x.xl>=x.smh)x.xl+=x.smh;
			if(yxl-y.xl>=y.smh)y.xl+=y.smh;
			jxz=1;
		}
		for(i=1; i<=5; ++i) {
			for(j=1; j<=40; ++j) {
				if(x1==j&&y1==i) {
					if(ggj3>0&&y1==y2&&(x2+1==x1||x2-1==x1))x.xl-=dod(y,x);
					if(ggj4>0&&ggj4==x1)x.xl-=dod(yy1,x);
					if(ggj2>0&&((j<=x2&&j>=yyl)||(j>=x2&&j<=yyl))&&i==5)x.xl-=dod(y,x);
					cout<<"1";
				} else if(x2==j&&y2==i) {
					if(gjl>0&&y1==y2&&abs(x1-x2)<=1)y.xl-=dod(x,y);
					if(xjn1>=0&&xjn1y==x2)y.xl-=dod(x,y);
					if(xjn2>0&&((j<=xjn2y3&&j>=xjn2y2)||(j>=xjn2y3&&j<=xjn2y2))&&i==xjn2y1)y.xl-=dod(x,y);
					cout<<"2";
				}else if(xjn1>=0&&xjn1y==j){
					de1(3);cout<<"|";de1(1);
					if(x2==xjn1y)y.xl-=dod(x,y);
				}else if(xjn2>0&&((j<=xjn2y3&&j>=xjn2y2)||(j>=xjn2y3&&j<=xjn2y2))&&i==xjn2y1){
					cout<<"-";
				}else if(ggj1>=0&&lgj==j) {
					de1(2);cout<<"|";de1(1);
					if(x1==lgj)x.xl-=(dod(y,x)/5);
				} else if(ggj2>0&&((j<=x2&&j>=yyl)||(j>=x2&&j<=yyl))&&i==5) {
					cout<<"-";
				} else if(gjl>0&&y1==i&&(x1-1==j||x1+1==j)) {
					cout<<"-";
				} else if(ggj3>0&&y2==i&&(x2-1==j||x2+1==j)) {
					cout<<"-";
					if(ggj3>0&&y1==y2&&(x1+1==x2||x1-1==x2))x.xl-=dod(y,x);
				} else if(ggj4>=0&&j==ggj4) {
					cout<<"|";
					if(x1==j)x.xl-=dod(y,x);
				} else {
					cout<<" ";
				}
			}
			cout<<"|"<<endl;
		}
		for(i=1; i<=41; ++i) {
			cout<<"=";
		}
		cout<<endl;
		cout<<"A D左右"<<endl;
		cout<<"W上"<<endl;
		cout<<"空格攻击"<<endl;
		cout<<"你:"<<x.xl<<endl;
		cout<<y.mz<<":"<<y.xl<<endl;
		cout<<"技能1冷却:"<<xjnc<<" q释放"<<endl;
		cout<<"技能2冷却:"<<xjnc2<<" e释放"<<endl;
		if(x1<=x2&&ggj2<=0)x2=yd(false,x2,40);
		if(x1>x2&&ggj2<=0)x2=yd(true,x2,40);
		if(gtyz<=0){
			gtyz=rand()%5+1;
			if(gtyz==3){
				gtyz=6;
				y2=ty(y2,gtyz);
				gtyz--;	
			}else{
				gtyz=0;	
			}
		}else{
			y2=ty(y2,gtyz);
			gtyz--;		
		}
		
		if(abs(x1-x2)<=1&&ggj2<=0&&x.xl>y.xl){
			if(x1>x2)x2=yd(false,x2,40);
			if(x1<=x2)x2=yd(true,x2,40);
		}
		
		if(ggj1<=0&&ggj2<=0&&ggj3<=0&&ggjc==1&&ggj4<=0) {
			srand(time(0));
			xz=rand()%szs+1;
			if(xz==5) {
				ggj4=40;
			}
			if(xz==4) {
				lgj=x1;
				ggj1=4;
			}
			if(xz==3) {
				ggj2=5;
				yyl=x2;
				if(x2>=x1){
					x2=x1+1;
				}
				if(x2<=x1){
					x2=x1-1;
				}
			}
			if(xz==2)ggj3=3;
		} else {
			ggj1--;
			ggj2--;
			ggj3--;
			ggj4--;
			ggjc--;
		}
		if(ggjc<=0)ggjc=6;
		if(xjnc<=0)xjnc=50;
		if(GetAsyncKeyState('A')||GetAsyncKeyState(VK_LEFT)&&xjn2<=0){
			x1=yd(false,x1,40);
			if(xjn2<=0&&xjnc2<=1){
		    if(GetAsyncKeyState('E')){
					xjn2=6;
					xjn2y1=y1;
					xjn2y2=x1;
					x1=yd(false,5,40);
					xjn2y3=x1;
					xjnc2=10;
			}
		}
		}
		if(GetAsyncKeyState('D')||GetAsyncKeyState(VK_RIGHT)&&xjn2<=0){
			x1=yd(true,x1,40);
			if(xjn2<=0&&xjnc2<=1){
		    if(GetAsyncKeyState('E')){
					xjn2=6;
					xjn2y1=y1;
					xjn2y2=x1;
					x1=yd(true,5,40);
					xjn2y3=x1;
					xjnc2=10;
			}
		}
			
		}
		if((GetAsyncKeyState('W')||GetAsyncKeyState(VK_UP))&&tyz==0) {
			tyz=6;
			y1=ty(y1,tyz);
			tyz--;
		} else if(tyz>0) {
			y1=ty(y1,tyz);
			tyz--;
		}
		if(GetAsyncKeyState(VK_SPACE)) {
			gjl=2;
		}
		if(xjn1<=0&&xjnc<=1){
			if(GetAsyncKeyState('Q')){
				xz=1;
				if(xz==1){
					xjn1=6;
					xjn1y=x2;	
				}
		    }
		}else{
			xjnc--;
			xjn1--;
		}
		if(xjnc2>1){
			xjnc2--;
			xjn2--;
		}
		gjl--;
		jxz++;
		Sleep(50);
		system("cls");
		cout.flush();
	}
	system("mode con cols=150 lines=50");
	cd(500);
	if(y.xl<=0) {
		cout<<"你赢了"<<endl;
		gwdlw(bx,by);
	} else {
		cout<<"你输了"<<endl;
		cd(1000);
	}
	
	cd(1000);
}
void cw() {
	cd(100); 
	int xz=0,xz1=0;
	bool lc=1;
	while(lc){
		xz=0;
		xz1=0;
		while(!xz){
			if(pdbj(1,1,4,15,"草原")&&dt>=1){
				xz=1;
			}
			if(pdbj(2,1,4,12, "离开" )){
				return;
			}
			
		}
		cd(100);
		while(!xz1){
			if(pdbj(1,1,gw[xz][1].mz.size(),de2(1),gw[xz][1].mz))xz1=1;
			if(pdbj(2,1,gw[xz][2].mz.size(),de2(2),gw[xz][2].mz))xz1=2;
			if(pdbj(3,1,gw[xz][3].mz.size(),de2(3),gw[xz][3].mz))xz1=3;
			if(pdbj(4,1,gw[xz][4].mz.size(),de2(4),gw[xz][4].mz))xz1=4;
			if(pdbj(5,1,gw[xz][5].mz.size(),de2(5),gw[xz][5].mz))xz1=5;
			if(pdbj(6,1,gw[xz][6].mz.size(),de2(6),gw[xz][6].mz))xz1=6;
		} 
		cd(100);
		cout<<"名字:"<<gw[xz][xz1].mz<<endl;
		cout<<"血量:"<<gw[xz][xz1].xl<<endl;
		cout<<"攻击:"<<gw[xz][xz1].gj<<endl;
		cout<<"防御:"<<gw[xz][xz1].fy<<endl;
		cout<<"闪避:"<<gw[xz][xz1].sb<<"%"<<endl;
		cout<<"免闪避:"<<gw[xz][xz1].msb<<"%"<<endl;
		cout<<"暴击:"<<gw[xz][xz1].bj<<"%"<<endl;
		cout<<"免暴击:"<<gw[xz][xz1].mbj<<"%"<<endl;
		cout<<"破甲率:"<<gw[xz][xz1].pjz<<"%"<<endl;
		cout<<"破甲伤害:"<<gw[xz][xz1].pjs<<endl;
		cout<<"恢复血量:"<<gw[xz][xz1].smh<<endl;
		cout<<"是否挑战";
		bool saz;
		while(1){
			if(pdbj(13,1,2,15,"是")){
				saz=1;break;
			}
			if(pdbj(13,5,6,12,"否")){
				saz=0;break;
			}
		}
		cd(1000);
		if(saz)ddo(rw,gw[xz][xz1],xz,xz1);
	}
	
}