C++ system函数

今天记system!

system函数

常用

参数功能
CLS清除屏幕
PAUSE暂停,等待用户信号

其他

参数                       功能
ASSOC         显示或修改文件扩展名关联    
ATTRIB         显示或更改文件属性    
BREAK         设置或清除扩展式 CTRL+C 检查    
BCDEDIT      设置启动数据库中的属性以控制启动加载    
BCDEDIT       设置启动数据库中的属性以控制启动加载    
CACLS        显示或修改文件的访问控制列表(ACL)    
CALL           从另一个批处理程序调用这一个    
CD             显示当前目录的名称或将其更改    
CHCP         显示或设置活动代码页数    
CHDIR       显示当前目录的名称或将其更改    
CHKDSK    检查磁盘并显示状态报告    
CHKNTFS    显示或修改启动时间磁盘检查    
CMD           打开另一个 Windows 命令解释程序窗口    
COLOR    打开另一个 Windows 命令解释程序窗口    
CMD          设置默认控制台前景和背景颜色    
COMP        比较两个或两套文件的内容    
COMPACT    显示或更改 NTFS 分区上文件的压缩    
CONVERT    将 FAT 卷转换成 NTFS 你不能转换当前驱动器    
COPY         将至少一个文件复制到另一个位置    
DATE         显示或设置日期    
DEL         删除至少一个文件    
DIR          显示一个目录中的文件和子目录    
DISKPART     显示或配置磁盘分区属性    
DOSKEY           编辑命令执行、撤回 Windows 命令并创建宏    
DRIVERQUERY     显示当前设备驱动程序状态及属性

MC

搞了个MC(转载c++MC源码 合集(免费)_mc源代码公开-CSDN博客):

#define PRINTERROR 0
#define CHOOSERROR 0
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#define DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define FN 0 
#define None 0
#define Black 0
#define Blue 1
#define Green 2
#define Grean 3
#define Red 4
#define Pink 5
#define Yellow 6
#define Grey 8
#define grey 7
#define blue 9
#define green 10
#define graan 11
#define red 12
#define pink 13
#define yellow 14
#define white 15
#define bk0 240
#define bk1 112
#define bk2 128
#define bk3 0
#define DayLong 2000
using namespace std;
int Attack=0,Rape=0,YLY=0,seed=0;
string BODY[16]={"","()","xx","/\\"};
				/*                      0                               1                                                 2                                                    3                                       4                                                                   5       */
                /*0空气 1基岩2泥土3草方块4木头5石头6沙子7玻璃8铁矿9金矿0钻石1煤炭2木板3木棍4火把5 树叶6工作7箱子8木稿9石镐0铁锭1金锭2铁镐3金镐4钻镐5熔炉6木剑7石剑8铁剑9金剑0钻剑1苹果2面包3床4地狱岩5地狱砖6刷怪笼7-2水     3-6岩浆 7黑曜石                                        8桶9水桶0岩浆桶1烈焰棒 2传送门*/ 
string BLOCK[128]={"  ","▓ ","▓ ","MM","■","■","※","□","〓","〓","◆","〓","〓","| ","i ","▓ ","##","[]","/\\","/\\","◆","◆","/\\","/\\","/\\","##","||","||","||","||","||","●","--","#]","■","▓ ","##","█ ","▇ ","▆ ","▅ ","▃ ","█ ","█ ","▆ ","▃ ","█ ","■","U/","U#","U#","--","◆"};
int BLOCK_COL[128]={Black,Black,Yellow,Green,Yellow,Grey,Yellow,blue,grey,yellow,blue,Grey,Yellow,Yellow,Red,Green,Yellow,Yellow,Yellow,Grey,grey,yellow,grey,yellow,blue,Grey,Yellow,Grey,grey,yellow,blue,Red,Yellow,Red,Pink,Pink,Black,Blue,Blue,Blue,Blue,Blue,Blue,Red,Red,Red,Red,Black,Black,Blue,Red,Red,Red};
int Hard[128]={None,60000,100,0,200,500,100,0,500,500,700,400,200,0,10,30,200,200,0,0,0,0,0,0,0,500,0,0,0};
int Hardmu[128]={None,60000,100,0,200,200,100,0,500,500,700,220,200,0,10,30,200,200,0,0,0,0,0,0,0,200,0,0,0};
int Hardsh[128]={None,60000,100,0,200,100,100,0,150,140,700,120,200,0,10,30,200,200,0,0,0,0,0,0,0,100,0,0,0};
int Hardti[128]={None,60000,100,0,200,70,100,0,70,70,70,60,200,0,10,30,200,200,0,0,0,0,0,0,0,70,0,0,0};
int Hardji[128]={None,60000,100,0,200,30,100,0,30,30,40,20,200,0,10,30,200,200,0,0,0,0,0,0,0,30,0,0,0};
int Hardzu[128]={None,60000,100,0,200,60,100,0,60,60,60,60,200,0,10,30,200,200,0,0,0,0,0,0,0,60,0,0,0};
int CANPUT[128]={0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
string NODE[16][2]={{"xx","/\\"},{"[]","/\\"},{"[]","^^"},{"BO","SS"}};
int NODE_COL[16]={Green,Green,Red},tot,tot1;
struct CD{int x,y;}cdlist[500010],boxlist[50010];
struct GUI
{
	int heal,node,x,y,Delete;
}wor[70];
/* 背包:4*9 */
struct BAG
{
	int thing,num,nj;
}bag[7][16];
int Health,Eat,Time;
int UPDOWN_SPEED=0,now=1;
void setcolor(int bkcol,int col){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),bkcol+col);}
int x,y,move,DIE;
double Rx,Ry;
int block[259][1028];
BAG box[259][1028][16];
int bk=bk0,op,Dpx[1028]={200};
int Hc[64][10]={{0,12,12,12,12,16},{0,4,0,0,0,12},{0,0,4,0,0,12},{0,0,0,4,0,12},{0,0,0,0,4,12},{0,12,0,0,0,13},{0,0,12,0,0,13},{0,0,0,12,0,13},{0,0,0,0,12,13},{0,11,0,13,0,14},{0,0,11,0,13,14}}; 
int Hc2[64][32]={{0,20,0,20,0,20,0,0,0,0,48},{0,12,12,0,12,12,0,0,0,0,16},{0,4,0,0,0,0,0,0,0,0,12},{0,12,0,0,0,0,0,0,0,0,13},{0,11,0,0,0,13,0,0,0,0,14},{0,5,5,5,5,0,5,5,5,5,25},{0,12,12,12,0,13,0,0,13,0,18},{0,5,5,5,0,13,0,0,13,0,19},{0,20,20,20,0,13,0,0,13,0,22},{0,21,21,21,0,13,0,0,13,0,23},{0,10,10,10,0,13,0,0,13,0,24},{0,0,12,0,0,12,0,0,13,0,26},{0,0,5,0,0,5,0,0,13,0,27},{0,0,21,0,0,21,0,0,13,0,28},{0,0,22,0,0,22,0,0,13,0,29},{0,0,10,0,0,10,0,0,13,0,30}};
int CanHc()
{
	for(int i=0;i<64;i++)
	if(bag[5][1].thing==Hc[i][1]&&bag[5][2].thing==Hc[i][2]&&bag[5][3].thing==Hc[i][3]&&bag[5][4].thing==Hc[i][4])return Hc[i][5];
}
int CanHc2()
{
	for(int i=0;i<64;i++)
	{
		int bo=1;
		for(int j=1;j<=9;j++)if(bag[6][j].thing!=Hc2[i][j])bo=0;
		if(bo)return Hc2[i][10];
	}
}
void GOTO(int x,int y){
    CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
    HANDLE hConsoleOut;
    hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
    csbiInfo.dwCursorPosition.Y = x;
    csbiInfo.dwCursorPosition.X = y;
    SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);
} 
void HideCursor()
{
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO CursorInfo;
	GetConsoleCursorInfo(handle, &CursorInfo);
	CursorInfo.bVisible = false;
	SetConsoleCursorInfo(handle, &CursorInfo);
}
int toint(string str)
{
	int x=0;
	for(int i=0;i<str.size();i++)
	if(str[i]>='0'&&str[i]<='9')
		x=x*10+str[i]-'0';
	return x;
}int ATTACK[128];
void ShowCursor()
{
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO CursorInfo;
	GetConsoleCursorInfo(handle, &CursorInfo);
	CursorInfo.bVisible = 1;
	SetConsoleCursorInfo(handle, &CursorInfo);
}
void CreateWorld(int WorldType)
{
	HideCursor();
	Health=10;Eat=10;for(int i=1;i<=64;i++)wor[i].Delete=1;
	if(WorldType==1)
	{
		x=4;
		y=512;op=2;
		for(int i=1;i<=1024;i++)block[0][i]=1,block[1][i]=2,block[2][i]=2,block[3][i]=3;
	}
	else if(WorldType==2)
	{
		//1:丘陵 2:山地Upper 3:山地Downner 4:平原 5:树林 
		int Type=1,lenth=0,village=0; 
		for(int j=1;j<=900;j++)
		{
			if(Type==1)Dpx[j]=Dpx[j-1]+rand()%3-1;
			else if(Type==2) Dpx[j]=Dpx[j-1]+rand()%2+1;
			else if(Type==3) Dpx[j]=Dpx[j-1]-rand()%2-1;
			else if(Type==4||Type==5) Dpx[j]=Dpx[j-1]+((rand()%3!=0)?(rand()%3-1):0);
			if(Dpx[j]>=100)Dpx[j]=64;
			else if(Dpx[j]<=30)Dpx[j]=64;
			lenth++;
			if(lenth>=5&&rand()%20==0)
			{
				if(Type==2)Type++;
				else
				{
					Type=rand()%5+1;
					while(Type==3)Type=rand()%5+1;
				}
			}
			for(int i=Dpx[j];i>=1;i--)
			if(i==Dpx[j]) block[i][j]=3;
			else if(rand()%1000<2-i/10)
			{
				block[i][j]=10;
				for(int ii=-1;ii<=1;ii++)
				  for(int jj=-1;jj<=1;jj++)
					if(rand()%10<=3&&(ii!=0||jj!=0))block[i+ii][j+jj]=10;
			}
			else if(rand()%1000<10-abs(i/10-4))
			{
				block[i][j]=8;
				for(int ii=-1;ii<=1;ii++)
				  for(int jj=-1;jj<=1;jj++)
					if(rand()%5<=4&&(ii!=0||jj!=0))block[i+ii][j+jj]=8;
			}
			else if(rand()%1000<4-i/25)
			{
				block[i][j]=9;
				for(int ii=-1;ii<=1;ii++)
				  for(int jj=-1;jj<=1;jj++)
					if(rand()%10<=3&&(ii!=0||jj!=0))block[i+ii][j+jj]=9;
			}
			else if(rand()%1000<20-abs(x/5-15))
			{
				block[i][j]=11;
				for(int ii=-1;ii<=1;ii++)
				  for(int jj=-1;jj<=1;jj++)
					if(rand()%10<=3&&(ii!=0||jj!=0))block[i+ii][j+jj]=11;
			}
			else if(rand()%100<100-abs(i-Dpx[j])*abs(i-Dpx[j])*abs(i-Dpx[j]))block[i][j]=2;
			else if(rand()%2&&i<=3)block[i][j]=47;
			else block[i][j]=5;
			if(Type==1||Type==4){if(rand()%10==0)block[Dpx[j]][j]=4,block[Dpx[j]+1][j]=4,block[Dpx[j]+2][j]=4,block[Dpx[j]+3][j]=15,block[Dpx[j]+2][j-1]=15,block[Dpx[j]+2][j+1]=15;}
			if(Type==2||Type==3){if(rand()%20==0)block[Dpx[j]][j]=4,block[Dpx[j]+1][j]=4,block[Dpx[j]+2][j]=4,block[Dpx[j]+3][j]=15,block[Dpx[j]+2][j-1]=15,block[Dpx[j]+2][j+1]=15;}
			if(Type==5){if(rand()%10==0)block[Dpx[j]][j]=4,block[Dpx[j]+1][j]=4,block[Dpx[j]+2][j]=4,block[Dpx[j]+3][j]=4,block[Dpx[j]+4][j]=4,block[Dpx[j]+5][j]=15,block[Dpx[j]+4][j-1]=15,block[Dpx[j]+4][j+1]=15,block[Dpx[j]+3][j+1]=15,block[Dpx[j]+3][j+2]=15,block[Dpx[j]+3][j-1]=15,block[Dpx[j]+3][j-2]=15;if(rand()%5==0)block[Dpx[j]][j]=4,block[Dpx[j]+1][j]=4,block[Dpx[j]+2][j]=4,block[Dpx[j]+3][j]=15,block[Dpx[j]+2][j-1]=15,block[Dpx[j]+2][j+1]=15;}
			if(Type==4&&village-j<-100&&rand()%10==0)
			{
				village=j;//system("pause");
				int bc=j;
				while(rand()%4<3)
				{
					int Node=rand()%3;
					if(Node==0)
					{
						block[Dpx[j]][j+1]=4;  block[Dpx[j]][j]=4;  block[Dpx[j]][j-1]=4;  block[Dpx[j]][j-2]=4;
						block[Dpx[j]+1][j+1]=4;block[Dpx[j]+1][j]=17;block[Dpx[j]+1][j-1]=0;block[Dpx[j]+1][j-2]=4;
						block[Dpx[j]+2][j+1]=4;block[Dpx[j]+2][j]=0;block[Dpx[j]+2][j-1]=0;block[Dpx[j]+2][j-2]=4;
						block[Dpx[j]+3][j+1]=4;block[Dpx[j]+3][j]=0;block[Dpx[j]+3][j-1]=0;block[Dpx[j]+3][j-2]=4;
						block[Dpx[j]+4][j]=4;block[Dpx[j]+4][j-1]=4;
						for(int i=1;i<=8;i++)
						{
							int list[20]={31,32,32,32,31,26,18,19,4,4,4,0};
							box[Dpx[j]+1][j][i].thing=list[rand()%20],box[Dpx[j]+1][j][i].num=rand()%10+1;
						}
					}
					if(Node==1)
					{
						block[Dpx[j]][j+1]=5;  block[Dpx[j]][j]=5;  block[Dpx[j]][j-1]=5;  block[Dpx[j]][j-2]=5;
						block[Dpx[j]+1][j+1]=5;block[Dpx[j]+1][j]=17;block[Dpx[j]+1][j-1]=0;block[Dpx[j]+1][j-2]=5;
						block[Dpx[j]+2][j+1]=5;block[Dpx[j]+2][j]=0;block[Dpx[j]+2][j-1]=0;block[Dpx[j]+2][j-2]=5;
						block[Dpx[j]+3][j+1]=5;block[Dpx[j]+3][j]=5;block[Dpx[j]+3][j-1]=5;block[Dpx[j]+3][j-2]=5;
						for(int i=1;i<=8;i++)
						{
							int list[20]={31,32,32,20,20,20,20,11,21,21,10,5,5,5,8,8};
							box[Dpx[j]+1][j][i].thing=list[rand()%20],box[Dpx[j]+1][j][i].num=rand()%10+1;
						}
					}
					if(Node==3)
					{
						block[Dpx[j]][j+1]=4;  block[Dpx[j]][j]=4;  block[Dpx[j]][j-1]=4;  block[Dpx[j]][j-2]=4;
						block[Dpx[j]+1][j+1]=4;block[Dpx[j]+1][j]=33;block[Dpx[j]+1][j-1]=0;block[Dpx[j]+1][j-2]=4;
						block[Dpx[j]+2][j+1]=4;block[Dpx[j]+2][j]=0;block[Dpx[j]+2][j-1]=0;block[Dpx[j]+2][j-2]=4;
						block[Dpx[j]+3][j+1]=4;block[Dpx[j]+3][j]=0;block[Dpx[j]+3][j-1]=0;block[Dpx[j]+3][j-2]=4;
						block[Dpx[j]+4][j]=4;block[Dpx[j]+4][j-1]=4;
					}
					j-=5;
				}
				j=bc;
			}
		}
		Type=2;
		for(int j=901;j<=1024;j++)
		{
			if(Type==2)Dpx[j]=Dpx[j-1];
			else if(Type==1) Dpx[j]=Dpx[j-1]+rand()%5-2;
			if(Dpx[j]>=100)Dpx[j]=64;
			else if(Dpx[j]<=30)Dpx[j]=64;
			lenth++;
			if(lenth>=5&&rand()%20==0)
			{
				Type=rand()%5+1;
				if(Type==1)Type=2;else Type=1;
			}
			for(int i=Dpx[j];i>=1;i--)
			if(i==Dpx[j]) block[i][j]=Type==1?34:35;
			else if(i==1)block[i][j]=1;else block[i][j]=34;
			if(Type==2&&rand()%10==0)block[Dpx[j]+3][j]=36;
			
		}
		y=y==0?512:y;
		x=Dpx[y]+2;
		op=2;
	} 
}
void Output()
{
	GOTO(0,0);Attack--;
	setcolor(bk,0);
	for(int i=x+5;i>=x-5;i--,puts(""))
	  for(int j=y+5;j>=y-5;j--)
	  {
		int BO1=0,BO2=0;
	  	for(int o=1;o<=64;o++)
	  	if(wor[o].x==i&&wor[o].y==j&&!wor[o].Delete)BO1=o;
	  	for(int o=1;o<=64;o++)
	  	if(wor[o].x+1==i&&wor[o].y==j&&!wor[o].Delete)BO2=o;
	  	if(BO1)
	  	{setcolor(bk,ATTACK[BO2]!=0?Green:NODE_COL[wor[BO1].node]);cout<<NODE[wor[BO1].node][1];
		  }
		else if(BO2) {setcolor(bk,ATTACK[BO2]!=0?Green:NODE_COL[wor[BO1].node]);if(ATTACK[BO2]!=0)cout<<wor[BO2].heal;else cout<<NODE[wor[BO2].node][0];ATTACK[BO2]=0;
		}
	  	else if(i<0||j<0||i>1023||j>1023)
	  	{
	  		setcolor(bk,0);
	  		cout<<"  ";
		}
		else if(block[i][j]<0)
		{
			setcolor(bk,bk!=0?0:1);
			cout<<BODY[-block[i][j]];
			block[i][j]=0;
		}
		else
		{
			setcolor(bk,BLOCK_COL[block[i][j]]);
	  		cout<<BLOCK[block[i][j]];
		}
	  }
	for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
	for(int i=1;i<=4;i++)if(i!=now)
	{
		cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
		cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
	}else
	{
		setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
	}setcolor(bk,Black);
	cout<<"\n坐标:"<<x<<" "<<y<<endl;
	setcolor(bk,Red);cout<<"生命:";
	for(int i=1;i<=10;i++)if(i<=Health)cout<<"●";else cout<<"○";
	setcolor(bk,Yellow);cout<<"\n饥饿:";
	for(int i=1;i<=10;i++)if(i<=Eat)cout<<"●";else cout<<"○";
	setcolor(bk,0);
	if(Attack>0)GOTO(0,0),cout<<"->";
}
void Clac();
void BodyClac();void Start();
void readcd()
{
	ifstream fout("INFMC.infcd");
	if(!fout)return;cout<<"是否读档?1/0\n";if(getch()=='0')
	{
	seed=time(0);system("cls");return;	
	}system("cls");cout<<"\n读档LOADING...";
	fout>>seed>>tot;srand(seed);CreateWorld(2);fout>>x>>y;cout<<"已读:基本信息("<<x<<","<<y<<")\n"; 
	for(int i=1;i<=tot;i++)
	{
		int q,w,e;
		fout>>q>>w>>e;
		block[q][w]=e;
	}Sleep(100);cout<<"\n已读:方块\n";Sleep(100);
	for(int i=1;i<=6;i++)
	for(int j=1;j<=12;j++)fout>>bag[i][j].thing>>bag[i][j].num;
	cout<<"已读:背包\n";Sleep(100);;fout>>tot1;
	for(int i=1;i<=tot1;i++)
	{int q,w,e,r;
	fout>>q>>w;
	for(int j=1;j<=14;j++)
	{
		fout>>e>>r;
		box[q][w][j].thing=e;box[q][w][j].num=r;
	}
	} cout<<"已读:箱子\n";Sleep(500);int e;
	fout>>e;if(e!=114514)cout<<"ERROR FILE!",exit(0);cout<<"end\n\n";Sleep(1000);system("cls");Start();
}
void putcd()
{
	system("cls");
	ofstream fout("INFMC.infcd");
	cout<<"存档(版本:1.1):\n约"<<tot*10+tot1*30+6*12*3<<"字符";
	fout<<seed<<"\n";fout<<tot<<" "<<x<<" "<<y<<" ";
	for(int i=1;i<=tot;i++)fout<<cdlist[i].x<<" "<<cdlist[i].y<<" "<<block[cdlist[i].x][cdlist[i].y]<<" ";
	for(int i=1;i<=6;i++)
	for(int j=1;j<=12;j++)fout<<bag[i][j].thing<<" "<<bag[i][j].num<<" ";
	fout<<tot1<<" ";
	for(int i=1;i<=tot1;i++)
	{
	fout<<boxlist[i].x<<" "<<boxlist[i].y<<" ";
	for(int j=1;j<=14;j++)fout<<box[boxlist[i].x][boxlist[i].y][j].thing<<" "<<box[boxlist[i].x][boxlist[i].y][j].num<<" ";
	} 
	fout<<"\n114514";fout.close();cout<<"完毕";
}
void DEAD()
{
	system("cls");
	cout<<"您去世了,欢迎来到天堂。\n";
	cout<<"A:下凡       B:返回";int Rap=0;
	while(1)
	{
		if(getch()=='a')
		{
			Rap++;
			if(Rap!=5)
			cout<<"\n注意审题!";else cout<<"\n注意审题!大写的A!";
		}
		if(getch()=='A')
		{
			Health=10;
			Eat=10;
			DIE=0;
			return;
		}
		if(getch()=='B')exit(0);
	} 
}
void dig(int a,int X,int Y)
{
	cdlist[++tot].x=X;cdlist[tot].y=Y;
	BodyClac();
	if((a==37||a==43)&&bag[1][now].thing==48)
	{
		bag[1][now].thing=a==37?49:50;block[X][Y]=0;return;
	}
	for(int O=1;O<=5;O++)
	{	GOTO(0,0);
	setcolor(bk,0);
	if(!DOWN('W')&&!DOWN('A')&&!DOWN('S')&&!DOWN('D'))return;
		for(int O=1;O<=5;O++)
	{	
		GOTO(x+5-X,(y+5-Y)*2);
		string Og[10]={"","▏ ","▎ ","▍ ","▋ ","▊ "};
		setcolor(bk,BLOCK_COL[block[X][Y]]);
		cout<<Og[O];
		  int wait=1000;
		  if(bag[1][now].thing==18)wait=Hardmu[a];
		  else if(bag[1][now].thing==19)wait=Hardsh[a];
		  else if(bag[1][now].thing==22)wait=Hardti[a];
		  else if(bag[1][now].thing==23)wait=Hardji[a];
		  else if(bag[1][now].thing==24)wait=Hardzu[a];
		  else wait=Hard[a];
		Sleep(wait);
	}
		  }
	if(bag[1][now].num>0)
	{
		int Rap=1;
		if(bag[1][now].thing==18)Rap=2;if(bag[1][now].thing==19)Rap=4;if(bag[1][now].thing==22)Rap=7;if(bag[1][now].thing==23)Rap=2;if(bag[1][now].thing==24)Rap=15;
		if(rand()%Rap==0)bag[1][now].nj--;GOTO(0,0);cout<<"耐久:"<<bag[1][now].nj;if(bag[1][now].nj==0)bag[1][now].num=0;
	}
	for(int i=1;i<=4;i++)
	  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==a)&&bag[i][j].num<64)
	  {
	  	bag[i][j].thing=a,bag[i][j].num++;block[X][Y]=0;return;
	  }
	GOTO(0,0);cout<<"警报:背包已满,无法拾起";Sleep(1000);
}
void digE(int a,int X,int Y)
{
	//BodyClac();
	cdlist[++tot].x=X;cdlist[tot].y=Y;
	if((a==37||a==43)&&bag[1][now].thing==48)
	{
		bag[1][now].thing=a==37?49:50;block[X][Y]=0;return;
	}
	for(int O=1;O<=5;O++)
	{	
		GOTO(x+5-X,(y+5-Y)*2);
		string Og[10]={"","▏ ","▎ ","▍ ","▋ ","▊ "};
		setcolor(bk,BLOCK_COL[block[X][Y]]);
		cout<<Og[O];
		  int wait=1000;
		  if(bag[1][now].thing==18)wait=Hardmu[a];
		  else if(bag[1][now].thing==19)wait=Hardsh[a];
		  else if(bag[1][now].thing==22)wait=Hardti[a];
		  else if(bag[1][now].thing==23)wait=Hardji[a];
		  else if(bag[1][now].thing==24)wait=Hardzu[a];
		  else wait=Hard[a];
		Sleep(wait);
	}
	if(bag[1][now].num>0)
	{
		int Rap=1;
		if(bag[1][now].thing==18)Rap=2;if(bag[1][now].thing==19)Rap=4;if(bag[1][now].thing==22)Rap=7;if(bag[1][now].thing==23)Rap=2;if(bag[1][now].thing==24)Rap=15;
		if(rand()%Rap==0)bag[1][now].nj--;GOTO(0,0);cout<<"耐久:"<<bag[1][now].nj;if(bag[1][now].nj==0)bag[1][now].num=0;
	}
	for(int i=1;i<=4;i++)
	  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==a)&&bag[i][j].num<64)
	  {
	  	bag[i][j].thing=a,bag[i][j].num++;block[X][Y]=0;return;
	  }
	GOTO(0,0);cout<<"警报:背包已满,无法拾起";Sleep(1000);
}
void BagE()
{
	int nowi=0,nowj=0,SPACE=0,Rp=0,Rpx=0,Rpy=0,willjian=0;int aa=0;
	while(1)
	{
	GOTO(0,0);
	setcolor(bk,Black);
	cout<<"Game Paused[请点击CapsLock大写锁定](点击r返回)\n";
	char Letter[10][10]={{},{' ','1','2','3','4'},{' ','q','w','e','r'},{' ','a','s','d','f'},{' ','z','x','c','v'},{' ','5','6','7','8','9'}};
	for(int i=2;i<=4;i++)
	{
		for(int j=1;j<=4;j++)if(i!=4||j>2)cout<<"  "<<Letter[i][j]<<"   ";else if(i==4&&j==1)cout<<"燃料"<<Letter[i][j];else cout<<"  烧制"<<Letter[i][j];puts("                            ");
		for(int j=1;j<=4;j++)if(nowj==j&&nowi==i)
	{
		setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
	}
	else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
		puts("                                \n                               ");
	}
	for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
	for(int i=1;i<=4;i++)
	if(nowj==i&&nowi==1)
	{
		setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Green);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
	}
	else if(i!=now)
	{
		cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
		cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
	}else
	{
		setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
	}puts("                                \n                         ");
		GOTO(1,25);cout<<"|-合-成-|_  ";
		GOTO(2,25);cout<<"|";if(bag[5][1].num==0)cout<<" 5 |";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][1].thing]);cout<<BLOCK[bag[5][1].thing];if(nowi!=5||nowj!=1)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[5][1].num);
		}setcolor(bk,Black);
		if(bag[5][2].num==0)cout<<" 6 | \\[";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][2].thing]);cout<<BLOCK[bag[5][2].thing];if(nowi!=5||nowj!=2)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d \\[",bag[5][2].num);
		}setcolor(bk,Black);
		if(bag[5][5].num==0)cout<<" 9 ]";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][5].thing]);cout<<BLOCK[bag[5][5].thing];if(nowi!=5||nowj!=5)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[5][5].num);
		}setcolor(bk,Black);
		GOTO(3,25);
		if(bag[5][3].num==0)cout<<"| 7 |";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][3].thing]);cout<<"|";cout<<BLOCK[bag[5][3].thing];if(nowi!=5||nowj!=3)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[5][3].num);
		}setcolor(bk,Black);
		if(bag[5][4].num==0)cout<<" 8 |_/ 结果";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][4].thing]);cout<<BLOCK[bag[5][4].thing];if(nowi!=5||nowj!=4)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d_/ 结果",bag[5][4].num);
		}setcolor(bk,Black);
		GOTO(8,25);cout<<"[    ] ()";
		GOTO(9,25);cout<<"[    ] ||";
		GOTO(10,25);cout<<"[    ] --";
		GOTO(11,25);cout<<"[    ] /\\";
		aa=getch();
		for(int i=1;i<=5;i++)
		   for(int j=1;j<=(i<=4?4:5);j++)
		   if(aa==Letter[i][j])
		   {
		   	if(SPACE)
		   	{
		   		if(bag[i][j].thing==Rp||bag[i][j].thing==0)
		   		{
		   			bag[i][j].thing=Rp;
		   			bag[i][j].num+=SPACE;SPACE=0;nowi=0;nowj=0;
				}
				else nowi=0,nowj=0;
			   }
		   		else if(nowi!=0&&nowj!=0)
				   {
				   	if(!(i!=5||j!=5))nowi=0;
				   	else
					   {
					   	
					   	if((nowi!=i||nowj!=j)&&bag[i][j].thing==bag[nowi][nowj].thing&&bag[i][j].num+bag[nowi][nowj].num<=64)bag[i][j].num+=bag[nowi][nowj].num,bag[nowi][nowj].num=0;
				   			else swap(bag[i][j],bag[nowi][nowj]);
				   		if(nowi==5&&nowj==5)bag[5][1].num-=willjian,bag[5][2].num-=willjian,bag[5][3].num-=willjian,bag[5][4].num-=willjian;
					   }
					   Clac();
				   	nowi=0;nowj=0;
				   }
				else 
		   		nowi=i,nowj=j;
		   }setcolor(bk,Black);
		if(aa==' '&&nowi&&bag[nowi][nowj].num>1&&!SPACE&&(nowi!=5||nowj!=5))
		{
			SPACE=bag[nowi][nowj].num-bag[nowi][nowj].num/2;Rp=bag[nowi][nowj].thing;bag[nowi][nowj].num=bag[nowi][nowj].num/2;
		nowi=0;nowj=0;}
		for(int i=1;i<=4;i++)
		   for(int j=1;j<=4;j++)
		if(aa=='r')
		{
			system("cls");
			return;
		}
		willjian=0;bag[5][5].num=0;
		if(CanHc())
		{
			int Numlist[100];
			for(int i=1;i<=64;i++)Numlist[i]=1;
			Numlist[12]=2;Numlist[13]=2;Numlist[14]=4;
			int MIN=100;
			for(int i=1;i<=4;i++)if(bag[5][i].num!=0)MIN=min(MIN,bag[5][i].num);
			bag[5][5].num=Numlist[CanHc()]*min(64/Numlist[CanHc()],MIN);
			bag[5][5].thing=CanHc();willjian=min(64/Numlist[CanHc()],MIN);
		}
	}
}
void Bag()
{
	int nowi=0,nowj=0,SPACE=0,Rp=0,Rpx=0,Rpy=0,willjian=0;
	while(1)
	{
	
	GOTO(0,0);
	setcolor(bk,Black);
	cout<<"Game Paused(点击Esc返回)\n";
	char Letter[10][10]={{},{' ','1','2','3','4'},{' ','Q','W','E','R'},{' ','A','S','D','F'},{' ','Z','X','C','V'},{' ','5','6','7','8','9'}};
	for(int i=2;i<=4;i++)
	{
		for(int j=1;j<=4;j++)if(i!=4||j>2)cout<<"  "<<Letter[i][j]<<"   ";else if(i==4&&j==1)cout<<"燃料"<<Letter[i][j];else cout<<"  烧制"<<Letter[i][j];puts("                            ");
		for(int j=1;j<=4;j++)if(nowj==j&&nowi==i)
	{
		setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
	}
	else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
		puts("                                \n                               ");
	}
	for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
	for(int i=1;i<=4;i++)
	if(nowj==i&&nowi==1)
	{
		setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Green);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
	}
	else if(i!=now)
	{
		cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
		cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
	}else
	{
		setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
	}puts("                                \n                         ");
		GOTO(1,25);cout<<"|-合-成-|_  ";
		GOTO(2,25);cout<<"|";if(bag[5][1].num==0)cout<<" 5 |";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][1].thing]);cout<<BLOCK[bag[5][1].thing];if(nowi!=5||nowj!=1)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[5][1].num);
		}setcolor(bk,Black);
		if(bag[5][2].num==0)cout<<" 6 | \\[";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][2].thing]);cout<<BLOCK[bag[5][2].thing];if(nowi!=5||nowj!=2)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d \\[",bag[5][2].num);
		}setcolor(bk,Black);
		if(bag[5][5].num==0)cout<<" 9 ]";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][5].thing]);cout<<BLOCK[bag[5][5].thing];if(nowi!=5||nowj!=5)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[5][5].num);
		}setcolor(bk,Black);
		GOTO(3,25);
		if(bag[5][3].num==0)cout<<"| 7 |";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][3].thing]);cout<<"|";cout<<BLOCK[bag[5][3].thing];if(nowi!=5||nowj!=3)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[5][3].num);
		}setcolor(bk,Black);
		if(bag[5][4].num==0)cout<<" 8 |_/ 结果";
		else
		{
			setcolor(bk,BLOCK_COL[bag[5][4].thing]);cout<<BLOCK[bag[5][4].thing];if(nowi!=5||nowj!=4)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d_/ 结果",bag[5][4].num);
		}setcolor(bk,Black);
		GOTO(8,25);cout<<"[    ] ()";
		GOTO(9,25);cout<<"[    ] ||";
		GOTO(10,25);cout<<"[    ] --";
		GOTO(11,25);cout<<"[    ] /\\";
		
		for(int i=1;i<=5;i++)
		   for(int j=1;j<=(i<=4?4:5);j++)
		   if(DOWN(Letter[i][j]))
		   {
		   	if(SPACE)
		   	{
		   		if(bag[i][j].thing==Rp||bag[i][j].thing==0)
		   		{
		   			bag[i][j].thing=Rp;
		   			bag[i][j].num+=SPACE;SPACE=0;nowi=0;nowj=0;
				}
				else nowi=0,nowj=0;
			   }
		   		else if(nowi!=0&&nowj!=0)
				   {
				   	if(!(i!=5||j!=5))nowi=0;
				   	else
					   {
					   	
					   	if((nowi!=i||nowj!=j)&&bag[i][j].thing==bag[nowi][nowj].thing&&bag[i][j].num+bag[nowi][nowj].num<=64)bag[i][j].num+=bag[nowi][nowj].num,bag[nowi][nowj].num=0;
				   			else swap(bag[i][j],bag[nowi][nowj]);
				   		if(nowi==5&&nowj==5)bag[5][1].num-=willjian,bag[5][2].num-=willjian,bag[5][3].num-=willjian,bag[5][4].num-=willjian;
					   }
					   Clac();
				   	nowi=0;nowj=0;
				   }
				else 
		   		nowi=i,nowj=j;
		   }setcolor(bk,Black);
		if(DOWN(VK_SPACE)&&nowi&&bag[nowi][nowj].num>1&&!SPACE&&(nowi!=5||nowj!=5))
		{
			SPACE=bag[nowi][nowj].num-bag[nowi][nowj].num/2;Rp=bag[nowi][nowj].thing;bag[nowi][nowj].num=bag[nowi][nowj].num/2;
		nowi=0;nowj=0;}
		for(int i=1;i<=4;i++)
		   for(int j=1;j<=4;j++)
		if(DOWN(VK_ESCAPE))
		{
			system("cls");
			return;
		}
		willjian=0;bag[5][5].num=0;
		if(CanHc())
		{
			int Numlist[100];
			for(int i=1;i<=64;i++)Numlist[i]=1;
			Numlist[12]=2;Numlist[13]=2;Numlist[14]=4;
			int MIN=100;
			for(int i=1;i<=4;i++)if(bag[5][i].num!=0)MIN=min(MIN,bag[5][i].num);
			bag[5][5].num=Numlist[CanHc()]*min(64/Numlist[CanHc()],MIN);
			bag[5][5].thing=CanHc();willjian=min(64/Numlist[CanHc()],MIN);
		}
		int BOOO=0;
		while(!BOOO)
		{BOOO=1;
			for(int i=1;i<=5;i++)
		   for(int j=1;j<=(i<=4?4:5);j++)
		   if(DOWN(Letter[i][j])||DOWN(VK_ESCAPE)||DOWN(VK_SPACE))BOOO=0;
		}
		Sleep(20);
	}
}
void workE(int R,int xx,int yy)
{
	boxlist[++tot1].x=xx;boxlist[tot1].y=yy;
	system("cls"); 
	if(R==33&&bk==bk0)
	{
		cout<<"按住E睡觉";
		for(int i=1;i<=10;i++)
		{
			Sleep(1000);
		}
		Time=0;
	}
	if(R==17)
	{
		int aa=0,nowi=0,nowj=0,SPACE=0,Rp=0,Rpx=0,Rpy=0,willjian=0;for(int i=1;i<=8;i++)swap(box[xx][yy][i],bag[5+i/5][i-i/5*4]);
		while(1)
		{
		GOTO(0,0);
		setcolor(bk,Black);
		cout<<"箱子(点击r返回)\n";
		int Letter[12][12]={{},{' ','1','2','3','4'},{' ','Q','W','E','R'},{' ','A','S','D','F'},{' ','Z','X','C','V'},{' ','T','Y','U','I'},{' ','G','H','J','K'}};
		
		for(int i=5;i<=6;i++)
		{
			for(int j=1;j<=4;j++)cout<<"  "<<(char)Letter[i][j]<<"   ";puts("         ");
			for(int j=1;j<=4;j++)
		if(nowj==j&&nowi==i)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
		}
		else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
		puts("         ");}cout<<"\n\n";
		for(int i=2;i<=4;i++)
		{
			for(int j=1;j<=4;j++)cout<<"  "<<(char)Letter[i][j]<<"   ";puts("                            ");
			for(int j=1;j<=4;j++)if(nowj==j&&nowi==i)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
		}
		else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
			puts("                                \n                               ");
		}
		for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
		for(int i=1;i<=4;i++)
		if(nowj==i&&nowi==1)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Green);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}
		else if(i!=now)
		{
			cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
			cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
		}else
		{
			setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}puts("                                \n                         ");
			Sleep(100);aa=getch();
			for(int i=1;i<=6;i++)
			   for(int j=1;j<=4;j++)
			   if(aa==Letter[i][j])
			   {
			   	if(SPACE)
			   	{
			   		if(bag[i][j].thing==Rp||bag[i][j].thing==0)
			   		{
			   			bag[i][j].thing=Rp;
			   			bag[i][j].num+=SPACE;SPACE=0;nowi=0;nowj=0;
					}
					else nowi=0,nowj=0;
				   }
			   		else if(nowi!=0&&nowj!=0)
					   {
					   	if(!(i!=6||j!=10))nowi=0;
					   	else
						   {
						   	
						   	if((i!=nowi||j!=nowj)&&bag[i][j].thing==bag[nowi][nowj].thing&&bag[i][j].num+bag[nowi][nowj].num<=64)bag[i][j].num+=bag[nowi][nowj].num,bag[nowi][nowj].num=0;
					   			else swap(bag[i][j],bag[nowi][nowj]);
					   		//if(nowi==6&&nowj==10)bag[6][1].num-=willjian,bag[6][2].num-=willjian,bag[6][3].num-=willjian,bag[6][4].num-=willjian,bag[6][5].num-=willjian,bag[6][6].num-=willjian,bag[6][7].num-=willjian,bag[6][8].num-=willjian,bag[6][9].num-=willjian;
						   }
						   Clac();
					   	nowi=0;nowj=0;
					   }
					else 
			   		nowi=i,nowj=j;
			   }setcolor(bk,Black);
			if(aa==' '&&nowi&&bag[nowi][nowj].num>1&&!SPACE&&(nowi!=6||nowj!=10))
			{
				SPACE=bag[nowi][nowj].num-bag[nowi][nowj].num/2;Rp=bag[nowi][nowj].thing;bag[nowi][nowj].num=bag[nowi][nowj].num/2;
			nowi=0;nowj=0;}
			for(int i=1;i<=4;i++)
			   for(int j=1;j<=4;j++)
			if(aa=='r')
			{
				system("cls");for(int i=1;i<=8;i++)swap(box[xx][yy][i],bag[5+i/5][i-i/5*4]);
				return;
			}
		}
	}
	if(R==25)
	{
		int hot[64]={0};
		hot[4]=2;hot[12]=1;hot[11]=4;
		
		if(box[x][y][1].num==0&&(bag[4][1].thing==4||bag[4][1].thing==12||bag[4][1].thing==11))swap(box[x][y][1],bag[4][1]);
		if(box[x][y][2].num==0&&(bag[4][2].thing==6||bag[4][2].thing==8||bag[4][2].thing==9))swap(box[x][y][2],bag[4][2]);
		while(1)
		{
			GOTO(0,0);Clac();
			setcolor(bk,Black);
			cout<<"Game Paused(点击r返回,1燃料,2物品,3结果)\n";
			for(int i=1;i<=3;i++)if(box[x][y][i].num==0)box[x][y][i].thing=0;int aa=0;
			if(kbhit())aa=getch();
			if(aa=='1')
			{
				if(box[x][y][1].num==0)swap(box[x][y][1],bag[4][1]);
				else 
				while(--box[x][y][1].num) 
				{
					for(int i=1;i<=4;i++)
					  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==box[x][y][1].thing)&&bag[i][j].num<64)
					  {
					  	bag[i][j].thing=box[x][y][1].thing,bag[i][j].num++;goto RIP2;
					  }
				}RIP2:;
			}
			if(aa=='2')
			{
				if(box[x][y][2].num==0)swap(box[x][y][2],bag[4][2]);
				else
				while(--box[x][y][2].num) 
				{
					for(int i=1;i<=4;i++)
					  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==box[x][y][2].thing)&&bag[i][j].num<64)
					  {
					  	bag[i][j].thing=box[x][y][2].thing,bag[i][j].num++;goto RIP1;
					  }
				}RIP1:;
			}
			if(box[x][y][3].num<0)box[x][y][3].num=0;
			if(aa=='3')
			{
				if(box[x][y][3].num!=0)
				while(--box[x][y][3].num)
					for(int i=1;i<=4;i++)
					  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==box[x][y][3].thing)&&bag[i][j].num<64)
					  {
					  	bag[i][j].thing=box[x][y][3].thing,bag[i][j].num++;
						goto RIP;
					  }
				RIP:;
			}
			if(aa=='r')return;
			cout<<"----烧炼----\n燃料:";
			setcolor(bk,BLOCK_COL[box[x][y][1].thing]);cout<<BLOCK[box[x][y][1].thing]<<box[x][y][1].num<<"\n";setcolor(bk,Black);
			cout<<"物品:";setcolor(bk,BLOCK_COL[box[x][y][2].thing]);cout<<BLOCK[box[x][y][2].thing]<<box[x][y][2].num<<"\n";setcolor(bk,Black);
			cout<<"烧制中:"<<box[x][y][4].num<<"%\n";setcolor(bk,Black);
			cout<<"结果:";setcolor(bk,BLOCK_COL[box[x][y][3].thing]);cout<<BLOCK[box[x][y][3].thing]<<box[x][y][3].num<<"\n";
			if(box[x][y][4].num==100)
			{
				box[x][y][4].num=0;
				box[x][y][2].num--;
				box[x][y][3].thing=((box[x][y][2].thing==6)?7:(box[x][y][2].thing==8)?20:(box[x][y][2].thing==9)?21:0);
				if(box[x][y][2].thing!=0)box[x][y][3].num++;
			}
			if(box[x][y][4].thing==0&&box[x][y][1].num!=0&&box[x][y][2].num!=0)
			{
				box[x][y][4].thing=hot[box[x][y][1].thing];
				box[x][y][1].num--;
			}
			Sleep(100);
			if(box[x][y][4].thing!=0&&box[x][y][2].num!=0)box[x][y][4].num++;
		}
	}
	if(R==16)
	{
		int nowi=0,nowj=0,SPACE=0,Rp=0,Rpx=0,Rpy=0,willjian=0,aa=0;
		while(1)
		{
		GOTO(0,0);
		setcolor(bk,Black);
		cout<<"Game Paused[请点击CapsLock大写锁定](点击r返回)\n";
		int Letter[12][12]={{},{' ','1','2','3','4'},{' ','q','w','e','r'},{' ','a','s','d','f'},{' ','z','x','c','v'},{},{' ','t','y','u','i','h','j','b','n','m','k'}};
		for(int i=2;i<=4;i++)
		{
			for(int j=1;j<=4;j++)cout<<"  "<<(char)Letter[i][j]<<"   ";puts("                            ");
			for(int j=1;j<=4;j++)if(nowj==j&&nowi==i)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
		}
		else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
			puts("                                \n                               ");
		}
		for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
		for(int i=1;i<=4;i++)
		if(nowj==i&&nowi==1)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Green);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}
		else if(i!=now)
		{
			cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
			cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
		}else
		{
			setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}puts("                                \n                         ");
			GOTO(1,25);setcolor(bk,Black);cout<<"|---合-成---|";
			GOTO(2,25);cout<<"|";if(bag[6][1].num==0)cout<<" t |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][1].thing]);cout<<BLOCK[bag[6][1].thing];if(nowi!=6||nowj!=1)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][1].num);
			}setcolor(bk,Black);
			if(bag[6][2].num==0)cout<<" y |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][2].thing]);cout<<BLOCK[bag[6][2].thing];if(nowi!=6||nowj!=2)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][2].num);
			}setcolor(bk,Black);
			if(bag[6][3].num==0)cout<<" u |_  ";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][3].thing]);cout<<BLOCK[bag[6][3].thing];if(nowi!=6||nowj!=3)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][3].num);
			}setcolor(bk,Black);
			GOTO(3,25);cout<<"|";if(bag[6][4].num==0)cout<<" g |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][4].thing]);cout<<BLOCK[bag[6][4].thing];if(nowi!=6||nowj!=4)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][4].num);
			}setcolor(bk,Black);
			if(bag[6][5].num==0)cout<<" h |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][5].thing]);cout<<BLOCK[bag[6][5].thing];if(nowi!=6||nowj!=5)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][5].num);
			}setcolor(bk,Black);
			if(bag[6][6].num==0)cout<<" j | \\[";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][6].thing]);cout<<BLOCK[bag[6][6].thing];if(nowi!=6||nowj!=6)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][6].num);
			}setcolor(bk,Black);
			if(bag[6][10].num==0)cout<<" k ]";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][10].thing]);cout<<BLOCK[bag[6][10].thing];if(nowi!=6||nowj!=10)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][10].num);
			}setcolor(bk,Black);
			GOTO(4,25);cout<<"|";if(bag[6][7].num==0)cout<<" b |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][7].thing]);cout<<BLOCK[bag[6][7].thing];if(nowi!=6||nowj!=7)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][7].num);
			}setcolor(bk,Black);
			if(bag[6][8].num==0)cout<<" n |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][8].thing]);cout<<BLOCK[bag[6][8].thing];if(nowi!=6||nowj!=8)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][8].num);
			}setcolor(bk,Black);
			if(bag[6][9].num==0)cout<<" m |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][9].thing]);cout<<BLOCK[bag[6][9].thing];if(nowi!=6||nowj!=9)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][9].num);
			}
			Sleep(100);aa=getch();
			for(int i=1;i<=6;i++)
			   for(int j=1;j<=(i<=5?4:10);j++)
			   if(aa==Letter[i][j])
			   {
			   	if(SPACE)
			   	{
			   		if(bag[i][j].thing==Rp||bag[i][j].thing==0)
			   		{
			   			bag[i][j].thing=Rp;
			   			bag[i][j].num+=SPACE;SPACE=0;nowi=0;nowj=0;
					}
					else nowi=0,nowj=0;
				   }
			   		else if(nowi!=0&&nowj!=0)
					   {
					   	if(!(i!=6||j!=10))nowi=0;
					   	else
						   {
						   	
						   	if((i!=nowi||j!=nowj)&&bag[i][j].thing==bag[nowi][nowj].thing&&bag[i][j].num+bag[nowi][nowj].num<=64)bag[i][j].num+=bag[nowi][nowj].num,bag[nowi][nowj].num=0;
					   			else swap(bag[i][j],bag[nowi][nowj]);
					   		if(nowi==6&&nowj==10)bag[6][1].num-=willjian,bag[6][2].num-=willjian,bag[6][3].num-=willjian,bag[6][4].num-=willjian,bag[6][5].num-=willjian,bag[6][6].num-=willjian,bag[6][7].num-=willjian,bag[6][8].num-=willjian,bag[6][9].num-=willjian;
						   }
						   Clac();
					   	nowi=0;nowj=0;
					   }
					else 
			   		nowi=i,nowj=j;
			   }setcolor(bk,Black);
			if(aa==' '&&nowi&&bag[nowi][nowj].num>1&&!SPACE&&(nowi!=6||nowj!=10))
			{
				SPACE=bag[nowi][nowj].num-bag[nowi][nowj].num/2;Rp=bag[nowi][nowj].thing;bag[nowi][nowj].num=bag[nowi][nowj].num/2;
			nowi=0;nowj=0;}
			for(int i=1;i<=4;i++)
			   for(int j=1;j<=4;j++)
			if(aa=='r')
			{
				system("cls");
				return;
			}
			willjian=0;bag[6][10].num=0;
			if(CanHc2())
			{
				int Numlist[100];
				for(int i=1;i<=64;i++)Numlist[i]=1;
				Numlist[12]=2;Numlist[13]=2;Numlist[14]=4;
				int MIN=100;
				for(int i=1;i<=9;i++)if(bag[6][i].num!=0)MIN=min(MIN,bag[6][i].num);
				bag[6][10].num=Numlist[CanHc2()]*min(64/Numlist[CanHc2()],MIN);
				bag[6][10].thing=CanHc2();willjian=Numlist[CanHc2()]*min(64/Numlist[CanHc2()],MIN);
			}
		}
	}
}
void work(int R,int xx,int yy)
{
	system("cls"); boxlist[++tot1].x=xx;boxlist[tot1].y=yy;
	if(R==33&&bk==bk0)
	{
		cout<<"按住E睡觉";
		for(int i=1;i<=10;i++)
		{
			if(!DOWN('E'))return;
			Sleep(1000);
		}
		Time=0;
	}
	if(R==17)
	{
		int nowi=0,nowj=0,SPACE=0,Rp=0,Rpx=0,Rpy=0,willjian=0;for(int i=1;i<=8;i++)swap(box[xx][yy][i],bag[5+i/5][i-i/5*4]);
		while(1)
		{
		GOTO(0,0);
		setcolor(bk,Black);
		cout<<"箱子(点击Esc返回)\n";
		int Letter[12][12]={{},{' ','1','2','3','4'},{' ','Q','W','E','R'},{' ','A','S','D','F'},{' ','Z','X','C','V'},{' ','T','Y','U','I'},{' ','G','H','J','K'}};
		
		for(int i=5;i<=6;i++)
		{
			for(int j=1;j<=4;j++)cout<<"  "<<(char)Letter[i][j]<<"   ";puts("         ");
			for(int j=1;j<=4;j++)
		if(nowj==j&&nowi==i)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
		}
		else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
		puts("         ");}cout<<"\n\n";
		for(int i=2;i<=4;i++)
		{
			for(int j=1;j<=4;j++)cout<<"  "<<(char)Letter[i][j]<<"   ";puts("                            ");
			for(int j=1;j<=4;j++)if(nowj==j&&nowi==i)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
		}
		else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
			puts("                                \n                               ");
		}
		for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
		for(int i=1;i<=4;i++)
		if(nowj==i&&nowi==1)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Green);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}
		else if(i!=now)
		{
			cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
			cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
		}else
		{
			setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}puts("                                \n                         ");
			Sleep(100);
			for(int i=1;i<=6;i++)
			   for(int j=1;j<=4;j++)
			   if(DOWN(Letter[i][j]))
			   {
			   	if(SPACE)
			   	{
			   		if(bag[i][j].thing==Rp||bag[i][j].thing==0)
			   		{
			   			bag[i][j].thing=Rp;
			   			bag[i][j].num+=SPACE;SPACE=0;nowi=0;nowj=0;
					}
					else nowi=0,nowj=0;
				   }
			   		else if(nowi!=0&&nowj!=0)
					   {
					   	if(!(i!=6||j!=10))nowi=0;
					   	else
						   {
						   	
						   	if((i!=nowi||j!=nowj)&&bag[i][j].thing==bag[nowi][nowj].thing&&bag[i][j].num+bag[nowi][nowj].num<=64)bag[i][j].num+=bag[nowi][nowj].num,bag[nowi][nowj].num=0;
					   			else swap(bag[i][j],bag[nowi][nowj]);
					   		//if(nowi==6&&nowj==10)bag[6][1].num-=willjian,bag[6][2].num-=willjian,bag[6][3].num-=willjian,bag[6][4].num-=willjian,bag[6][5].num-=willjian,bag[6][6].num-=willjian,bag[6][7].num-=willjian,bag[6][8].num-=willjian,bag[6][9].num-=willjian;
						   }
						   Clac();
					   	nowi=0;nowj=0;
					   }
					else 
			   		nowi=i,nowj=j;
			   }setcolor(bk,Black);
			if(DOWN(VK_SPACE)&&nowi&&bag[nowi][nowj].num>1&&!SPACE&&(nowi!=6||nowj!=10))
			{
				SPACE=bag[nowi][nowj].num-bag[nowi][nowj].num/2;Rp=bag[nowi][nowj].thing;bag[nowi][nowj].num=bag[nowi][nowj].num/2;
			nowi=0;nowj=0;}
			for(int i=1;i<=4;i++)
			   for(int j=1;j<=4;j++)
			if(DOWN(VK_ESCAPE))
			{
				system("cls");for(int i=1;i<=8;i++)swap(box[xx][yy][i],bag[5+i/5][i-i/5*4]);
				return;
			}
		}
	}
	if(R==25)
	{
		int hot[64]={0};
		hot[4]=2;hot[12]=1;hot[11]=4;
		if(box[x][y][1].num==0&&(bag[4][1].thing==4||bag[4][1].thing==12||bag[4][1].thing==11))swap(box[x][y][1],bag[4][1]);
		if(box[x][y][2].num==0&&(bag[4][2].thing==6||bag[4][2].thing==8||bag[4][2].thing==9))swap(box[x][y][2],bag[4][2]);
		while(1)
		{
			GOTO(0,0);Clac();
			setcolor(bk,Black);
			cout<<"Game Paused(点击Esc返回,1燃料,2物品,3结果)\n";
			for(int i=1;i<=3;i++)if(box[x][y][i].num==0)box[x][y][i].thing=0;
			if(DOWN('1'))
			{
				if(box[x][y][1].num==0)swap(box[x][y][1],bag[4][1]);
				else 
				while(--box[x][y][1].num) 
				{
					for(int i=1;i<=4;i++)
					  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==box[x][y][1].thing)&&bag[i][j].num<64)
					  {
					  	bag[i][j].thing=box[x][y][1].thing,bag[i][j].num++;goto RIP2;
					  }
				}RIP2:;
			}
			if(DOWN('2'))
			{
				if(box[x][y][2].num==0)swap(box[x][y][2],bag[4][2]);
				else
				while(--box[x][y][2].num) 
				{
					for(int i=1;i<=4;i++)
					  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==box[x][y][2].thing)&&bag[i][j].num<64)
					  {
					  	bag[i][j].thing=box[x][y][2].thing,bag[i][j].num++;goto RIP1;
					  }
				}RIP1:;
			}
			if(DOWN('3'))
			{
				if(box[x][y][3].num<=0)box[x][y][3].num=0;
				while(--box[x][y][3].num)
					for(int i=1;i<=4;i++)
					  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==box[x][y][3].thing)&&bag[i][j].num<64)
					  {
					  	bag[i][j].thing=box[x][y][3].thing,bag[i][j].num++;
						goto RIP;
					  }
				RIP:;
			}
			if(DOWN(VK_ESCAPE))return;
			cout<<"----烧炼----\n燃料:";
			setcolor(bk,BLOCK_COL[box[x][y][1].thing]);cout<<BLOCK[box[x][y][1].thing]<<box[x][y][1].num<<"\n";setcolor(bk,Black);
			cout<<"物品:";setcolor(bk,BLOCK_COL[box[x][y][2].thing]);cout<<BLOCK[box[x][y][2].thing]<<box[x][y][2].num<<"\n";setcolor(bk,Black);
			cout<<"烧制中:"<<box[x][y][4].num<<"%\n";setcolor(bk,Black);
			cout<<"结果:";setcolor(bk,BLOCK_COL[box[x][y][3].thing]);cout<<BLOCK[box[x][y][3].thing]<<box[x][y][3].num<<"\n";
			if(box[x][y][4].num==100)
			{
				box[x][y][4].num=0;
				box[x][y][2].num--;
				box[x][y][3].thing=((box[x][y][2].thing==6)?7:(box[x][y][2].thing==8)?20:(box[x][y][2].thing==9)?21:0);
				if(box[x][y][2].thing!=0)box[x][y][3].num++;
			}
			if(box[x][y][4].thing==0&&box[x][y][1].num!=0&&box[x][y][2].num!=0)
			{
				box[x][y][4].thing=hot[box[x][y][1].thing];
				box[x][y][1].num--;
			}
			Sleep(100);
			if(box[x][y][4].thing!=0&&box[x][y][2].num!=0)box[x][y][4].num++;
		}
	}
	if(R==16)
	{
		int nowi=0,nowj=0,SPACE=0,Rp=0,Rpx=0,Rpy=0,willjian=0;
		while(1)
		{
		GOTO(0,0);
		setcolor(bk,Black);
		cout<<"Game Paused(点击Esc返回)\n";
		int Letter[12][12]={{},{' ','1','2','3','4'},{' ','Q','W','E','R'},{' ','A','S','D','F'},{' ','Z','X','C','V'},{},{' ',VK_NUMPAD7,VK_NUMPAD8,VK_NUMPAD9,VK_NUMPAD4,VK_NUMPAD5,VK_NUMPAD6,VK_NUMPAD1,VK_NUMPAD2,VK_NUMPAD3,VK_ADD}};
		for(int i=2;i<=4;i++)
		{
			for(int j=1;j<=4;j++)cout<<"  "<<(char)Letter[i][j]<<"   ";puts("                            ");
			for(int j=1;j<=4;j++)if(nowj==j&&nowi==i)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Green);printf("%2d]",bag[i][j].num);setcolor(bk,Black);
		}
		else {cout<<"[";setcolor(bk,BLOCK_COL[bag[i][j].thing]);cout<<BLOCK[bag[i][j].thing];setcolor(bk,Black);printf("%2d]",bag[i][j].num);}
			puts("                                \n                               ");
		}
		for(int i=1;i<=4;i++)cout<<"  "<<i<<"   ";puts("");
		for(int i=1;i<=4;i++)
		if(nowj==i&&nowi==1)
		{
			setcolor(bk,Green);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Green);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}
		else if(i!=now)
		{
			cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);
			cout<<BLOCK[bag[1][i].thing];setcolor(bk,Black);printf("%2d]",bag[1][i].num);
		}else
		{
			setcolor(bk,Red);cout<<"[";setcolor(bk,BLOCK_COL[bag[1][i].thing]);cout<<BLOCK[bag[1][i].thing];setcolor(bk,Red);printf("%2d]",bag[1][i].num);setcolor(bk,Black);
		}puts("                                \n                         ");
			GOTO(1,25);setcolor(bk,Black);cout<<"|---合-成---|";
			GOTO(2,25);cout<<"|";if(bag[6][1].num==0)cout<<"N7 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][1].thing]);cout<<BLOCK[bag[6][1].thing];if(nowi!=6||nowj!=1)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][1].num);
			}setcolor(bk,Black);
			if(bag[6][2].num==0)cout<<"N8 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][2].thing]);cout<<BLOCK[bag[6][2].thing];if(nowi!=6||nowj!=2)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][2].num);
			}setcolor(bk,Black);
			if(bag[6][3].num==0)cout<<"N9 |_  ";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][3].thing]);cout<<BLOCK[bag[6][3].thing];if(nowi!=6||nowj!=3)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][3].num);
			}setcolor(bk,Black);
			GOTO(3,25);cout<<"|";if(bag[6][4].num==0)cout<<"N4 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][4].thing]);cout<<BLOCK[bag[6][4].thing];if(nowi!=6||nowj!=4)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][4].num);
			}setcolor(bk,Black);
			if(bag[6][5].num==0)cout<<"N5 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][5].thing]);cout<<BLOCK[bag[6][5].thing];if(nowi!=6||nowj!=5)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][5].num);
			}setcolor(bk,Black);
			if(bag[6][6].num==0)cout<<"N6 | \\[";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][6].thing]);cout<<BLOCK[bag[6][6].thing];if(nowi!=6||nowj!=6)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][6].num);
			}setcolor(bk,Black);
			if(bag[6][10].num==0)cout<<" + ]";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][10].thing]);cout<<BLOCK[bag[6][10].thing];if(nowi!=6||nowj!=10)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][10].num);
			}setcolor(bk,Black);
			GOTO(4,25);cout<<"|";if(bag[6][7].num==0)cout<<"N1 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][7].thing]);cout<<BLOCK[bag[6][7].thing];if(nowi!=6||nowj!=7)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][7].num);
			}setcolor(bk,Black);
			if(bag[6][8].num==0)cout<<"N2 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][8].thing]);cout<<BLOCK[bag[6][8].thing];if(nowi!=6||nowj!=8)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][8].num);
			}setcolor(bk,Black);
			if(bag[6][9].num==0)cout<<"N3 |";
			else
			{
				setcolor(bk,BLOCK_COL[bag[6][9].thing]);cout<<BLOCK[bag[6][9].thing];if(nowi!=6||nowj!=9)setcolor(bk,Black);else setcolor(bk,Green);printf("%2d",bag[6][9].num);
			}
			Sleep(100);
			for(int i=1;i<=6;i++)
			   for(int j=1;j<=(i<=5?4:10);j++)
			   if(DOWN(Letter[i][j]))
			   {
			   	if(SPACE)
			   	{
			   		if(bag[i][j].thing==Rp||bag[i][j].thing==0)
			   		{
			   			bag[i][j].thing=Rp;
			   			bag[i][j].num+=SPACE;SPACE=0;nowi=0;nowj=0;
					}
					else nowi=0,nowj=0;
				   }
			   		else if(nowi!=0&&nowj!=0)
					   {
					   	if(!(i!=6||j!=10))nowi=0;
					   	else
						   {
						   	
						   	if((i!=nowi||j!=nowj)&&bag[i][j].thing==bag[nowi][nowj].thing&&bag[i][j].num+bag[nowi][nowj].num<=64)bag[i][j].num+=bag[nowi][nowj].num,bag[nowi][nowj].num=0;
					   			else swap(bag[i][j],bag[nowi][nowj]);
					   		if(nowi==6&&nowj==10)bag[6][1].num-=willjian,bag[6][2].num-=willjian,bag[6][3].num-=willjian,bag[6][4].num-=willjian,bag[6][5].num-=willjian,bag[6][6].num-=willjian,bag[6][7].num-=willjian,bag[6][8].num-=willjian,bag[6][9].num-=willjian;
						   }
						   Clac();
					   	nowi=0;nowj=0;
					   }
					else 
			   		nowi=i,nowj=j;
			   }setcolor(bk,Black);
			if(DOWN(VK_SPACE)&&nowi&&bag[nowi][nowj].num>1&&!SPACE&&(nowi!=6||nowj!=10))
			{
				SPACE=bag[nowi][nowj].num-bag[nowi][nowj].num/2;Rp=bag[nowi][nowj].thing;bag[nowi][nowj].num=bag[nowi][nowj].num/2;
			nowi=0;nowj=0;}
			for(int i=1;i<=4;i++)
			   for(int j=1;j<=4;j++)
			if(DOWN(VK_ESCAPE))
			{
				system("cls");
				return;
			}
			willjian=0;bag[6][10].num=0;
			if(CanHc2())
			{
				int Numlist[100];
				for(int i=1;i<=64;i++)Numlist[i]=1;
				Numlist[12]=2;Numlist[13]=2;Numlist[14]=4;
				int MIN=100;
				for(int i=1;i<=9;i++)if(bag[6][i].num!=0)MIN=min(MIN,bag[6][i].num);
				bag[6][10].num=Numlist[CanHc2()]*min(64/Numlist[CanHc2()],MIN);
				bag[6][10].thing=CanHc2();willjian=Numlist[CanHc2()]*min(64/Numlist[CanHc2()],MIN);
			}
		}
	}
}
int Can(int X,int Y)
{
	for(int i=1;i<=64;i++)if(X==wor[i].x&&Y==wor[i].y&&!wor[i].Delete)return 0;
	if(block[X][Y]==0&&block[X+1][Y]==0)return 1;return 0;
}
int JS(int x,int y)
{
	for(int i=1;i<=64;i++)if((x==wor[i].x||x==wor[i].x+1)&&y==wor[i].y&&!wor[i].Delete)return i;
	return 0;
}
void attack(int Node)
{
	GOTO(0,0);
	int la= wor[Node].heal;
	if(Attack>0)
	{
		return;
	}
	if(bag[1][now].thing==26)
	{
		wor[Node].heal--;
		if(rand()%2==0)wor[Node].heal--;
	}
	else if(bag[1][now].thing==27)
	{
		wor[Node].heal-=2;
		if(rand()%2==0)wor[Node].heal--;
	}
	else if(bag[1][now].thing==28)
	{
		wor[Node].heal-=3;
		if(rand()%3==0)wor[Node].heal-=3;
	}
	else if(bag[1][now].thing==29)
	{
		wor[Node].heal-=3;
		if(rand()%4==0)wor[Node].heal-=2;
	}
	else if(bag[1][now].thing==30)
	{
		wor[Node].heal-=5;
		if(rand()%4==0)wor[Node].heal-=5;
	}
	else wor[Node].heal-=rand()%2==0;Attack=15;
	if(bag[1][now].num>0)
	{
		int Rap=1;
		if(bag[1][now].thing==26)Rap=4;if(bag[1][now].thing==27)Rap=10;if(bag[1][now].thing==28)Rap=16;if(bag[1][now].thing==29)Rap=5;if(bag[1][now].thing==30)Rap=40;
		if(rand()%Rap==0)bag[1][now].nj--;GOTO(0,0);cout<<"耐久:"<<bag[1][now].nj;if(bag[1][now].nj==0)bag[1][now].num=0;
	}
	GOTO(0,0);setcolor(bk,1);ATTACK[Node]=la-wor[Node].heal;
}
void Input()
{
	if(DOWN('L'))putcd();
	for(int i='1';i<='4';i++)
	if(DOWN(i))now=i-'0';
	if(!DOWN(VK_SHIFT))
	{
		if(DOWN('E')&&(bag[1][now].thing==31||bag[1][now].thing==32)&&Eat<10)
		{
			for(int i=1;i<=30;i++)
			{
				Clac();
				Sleep(100);
				if(!DOWN('R'))break;
			}
			Eat++;bag[1][now].num--;
		}else if(DOWN('E'))Bag();
		else if(DOWN('D')&&Can(x,y-1))y--;
		else if(DOWN('A')&&Can(x,y+1))y++;
		else if(DOWN('D')&&block[x+1][y-1]!=0)dig(block[x+1][y-1],x+1,y-1);
		else if(DOWN('D')&&block[x][y-1]!=0)dig(block[x][y-1],x,y-1);
		else if(DOWN('A')&&block[x+1][y+1]!=0)dig(block[x+1][y+1],x+1,y+1);
		else if(DOWN('A')&&block[x][y+1]!=0)dig(block[x][y+1],x,y+1);
		else if(DOWN('W')&&block[x+2][y]!=0)dig(block[x+2][y],x+2,y);
		else if(DOWN('S')&&block[x-1][y]!=0)dig(block[x-1][y],x-1,y);
		else if(DOWN('D')&&JS(x,y-1))attack(JS(x,y-1));
		else if(DOWN('A')&&JS(x,y-1))attack(JS(x,y+1));
		else if(DOWN('D')&&JS(x+1,y-1))attack(JS(x+1,y-1));
		else if(DOWN('A')&&JS(x+1,y+1))attack(JS(x+1,y+1));
	}
	else
	{
		if(CANPUT[bag[1][now].thing])
		{
			if(DOWN('D')&&block[x+1][y-1]==0&&bag[1][now].num!=0)block[x+1][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+1,cdlist[tot].y=y-1;
			else if(DOWN('D')&&block[x][y-1]==0&&bag[1][now].num!=0)block[x][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x,cdlist[tot].y=y-1;
			else if(DOWN('A')&&block[x+1][y+1]==0&&bag[1][now].num!=0)block[x+1][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+1,cdlist[tot].y=y+1;
			else if(DOWN('A')&&block[x][y+1]==0&&bag[1][now].num!=0)block[x][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+2,cdlist[tot].y=y+1;
			else if(DOWN('W')&&block[x+2][y]==0&&bag[1][now].num!=0)block[x+2][y]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y;
			else if(DOWN('S')&&block[x-1][y]==0&&bag[1][now].num!=0)block[x-1][y]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y;
			else if(DOWN('E')&&block[x+2][y-1]==0&&bag[1][now].num!=0)block[x+2][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+2,cdlist[tot].y=y-1;
			else if(DOWN('Q')&&block[x+2][y+1]==0&&bag[1][now].num!=0)block[x+2][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+2,cdlist[tot].y=y+1;
			else if(DOWN('Z')&&block[x-1][y-1]==0&&bag[1][now].num!=0)block[x-1][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y-1;
			else if(DOWN('C')&&block[x-1][y+1]==0&&bag[1][now].num!=0)block[x-1][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y+1;
		}
		else if(DOWN('D')&&(block[x+1][y-1]==33||block[x+1][y-1]==17||block[x+1][y-1]==16||block[x+1][y-1]==25))work(block[x+1][y-1],x+1,y-1);
		else if(DOWN('D')&&(block[x][y-1]==33||block[x][y-1]==17||block[x][y-1]==16||block[x][y-1]==25))work(block[x][y-1],x,y-1);
		else if(DOWN('A')&&(block[x+1][y+1]==33||block[x+1][y+1]==17||block[x+1][y+1]==16||block[x+1][y+1]==25))work(block[x+1][y+1],x+1,y+1);
		else if(DOWN('A')&&(block[x][y+1]==33||block[x][y+1]==17||block[x][y+1]==16||block[x][y+1]==25))work(block[x][y+1],x,y+1);
		else if(DOWN('W')&&(block[x+2][y]==33||block[x+2][y]==17||block[x+2][y]==16||block[x+2][y]==25))work(block[x+2][y],x+2,y);
		else if(DOWN('S')&&(block[x-1][y]==33||block[x-1][y]==17||block[x-1][y]==16||block[x-1][y]==25))work(block[x-1][y],x-1,y);
		
	}
	if(DOWN(VK_SPACE)&&block[x+2][y]==0&&block[x-1][y]!=0)UPDOWN_SPEED=1;
	if(DOWN(VK_OEM_2))
	{
		GOTO(9,0);
		cout<<"Game Paused";
		GOTO(10,0);
		cout<<"Input:                 ";
		GOTO(10,6);ShowCursor();
		string str;cin>>str;
		if(op>1)
		{
			if(str=="/time")
			{string num;
				cin>>num;
				Time=toint(num);
			}
			if(str=="/tp")
			{string num;
				cin>>num;
				x=toint(num);cin>>num;y=toint(num);if(x==0)x=Dpx[y]+1;
			}
			if(str=="/health")
			{string num;
				cin>>num;
				Health=toint(num);
			}
			if(str=="/summon")
			{
				string num;int X,Y,Z;
				cin>>num;
				if(num[0]=='~')
				{
					if(num[1]=='+')
					X=x+toint(num);
					else if(num[1]=='-')X=x-toint(num);
				}
				else X=toint(num);
				cin>>num;
				if(num[0]=='~')
				{
					if(num[1]=='+')
					Y=y+toint(num);
					else if(num[1]=='-')Y=y-toint(num);
				}
				else Y=toint(num);
				cin>>num;
				Z=toint(num);//cout<<X<<","<<Y<<":"<<Z; 
				for(int i=1;i<=64;i++)
				if(wor[i].Delete)
				{
					wor[i].Delete=0;
					wor[i].x=X;
					wor[i].y=Y;
					wor[i].heal=10;
					wor[i].node=Z;return;
				}
			}
			if(str=="/set")
			{
				string num;int X,Y,Z;
				cin>>num;
				if(num[0]=='~')
				{
					if(num[1]=='+')
					X=x+toint(num);
					else if(num[1]=='-')X=x-toint(num);
				}
				else X=toint(num);
				cin>>num;
				if(num[0]=='~')
				{
					if(num[1]=='+')
					Y=y+toint(num);
					else if(num[1]=='-')Y=y-toint(num);
				}
				else Y=toint(num);
				cin>>num;
				Z=toint(num);
				block[X][Y]=Z;
			}
			if(str=="/give")
			{
				string num;
				cin>>num;
				for(int i=1;i<=4;i++)
				  for(int j=1;j<=4;j++)if((bag[i][j].thing==0||bag[i][j].thing==toint(num))&&bag[i][j].num<1)
				  {
				  	bag[i][j].thing=toint(num),bag[i][j].num+=64;return;
				  }
			}
		}system("cls");
	}
	HideCursor();
}
int SHIFT=0;
void InputE()
{
	if(kbhit())
	{
		int aa=getch();
	if(aa=='l')
	putcd();
		for(int i='1';i<='4';i++)
	if(aa==i)now=i-'0';
		if(aa=='e'&&(bag[1][now].thing==31||bag[1][now].thing==32)&&Eat<10)
		{
			for(int i=1;i<=30;i++)
			{
				Clac();
				Sleep(100);
			}
			Eat++;bag[1][now].num--;
		}else if(aa=='e')BagE();
		else if(aa=='d'&&Can(x,y-1))y--;
		else if(aa=='a'&&Can(x,y+1))y++;
		else if(aa=='d'&&block[x+1][y-1]!=0)digE(block[x+1][y-1],x+1,y-1);
		else if(aa=='d'&&block[x][y-1]!=0)digE(block[x][y-1],x,y-1);
		else if(aa=='a'&&block[x+1][y+1]!=0)digE(block[x+1][y+1],x+1,y+1);
		else if(aa=='a'&&block[x][y+1]!=0)digE(block[x][y+1],x,y+1);
		else if(aa=='w'&&block[x+2][y]!=0)digE(block[x+2][y],x+2,y);
		else if(aa=='s'&&block[x-1][y]!=0)digE(block[x-1][y],x-1,y);
		else if(aa=='d'&&JS(x,y-1))attack(JS(x,y-1));
		else if(aa=='a'&&JS(x,y-1))attack(JS(x,y+1));
		else if(aa=='d'&&JS(x+1,y-1))attack(JS(x+1,y-1));
		else if(aa=='a'&&JS(x+1,y+1))attack(JS(x+1,y+1));
		if(CANPUT[bag[1][now].thing])
		{
			if(aa=='D'&&block[x+1][y-1]==0&&bag[1][now].num!=0)block[x+1][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+1,cdlist[tot].y=y-1;
			else if(aa=='D'&&block[x][y-1]==0&&bag[1][now].num!=0)block[x][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x,cdlist[tot].y=y-1;
			else if(aa=='A'&&block[x+1][y+1]==0&&bag[1][now].num!=0)block[x+1][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+1,cdlist[tot].y=y+1;
			else if(aa=='A'&&block[x][y+1]==0&&bag[1][now].num!=0)block[x][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+2,cdlist[tot].y=y+1;
			else if(aa=='W'&&block[x+2][y]==0&&bag[1][now].num!=0)block[x+2][y]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y;
			else if(aa=='S'&&block[x-1][y]==0&&bag[1][now].num!=0)block[x-1][y]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y;
			else if(aa=='E'&&block[x+2][y-1]==0&&bag[1][now].num!=0)block[x+2][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+2,cdlist[tot].y=y-1;
			else if(aa=='Q'&&block[x+2][y+1]==0&&bag[1][now].num!=0)block[x+2][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x+2,cdlist[tot].y=y+1;
			else if(aa=='Z'&&block[x-1][y-1]==0&&bag[1][now].num!=0)block[x-1][y-1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y-1;
			else if(aa=='C'&&block[x-1][y+1]==0&&bag[1][now].num!=0)block[x-1][y+1]=bag[1][now].thing,bag[1][now].num--,cdlist[++tot].x=x-1,cdlist[tot].y=y+1;
		}
		else if(aa=='D'&&(block[x+1][y-1]==33||block[x+1][y-1]==17||block[x+1][y-1]==16||block[x+1][y-1]==25))workE(block[x+1][y-1],x+1,y-1);
		else if(aa=='D'&&(block[x][y-1]==33||block[x][y-1]==17||block[x][y-1]==16||block[x][y-1]==25))workE(block[x][y-1],x,y-1);
		else if(aa=='A'&&(block[x+1][y+1]==33||block[x+1][y+1]==17||block[x+1][y+1]==16||block[x+1][y+1]==25))workE(block[x+1][y+1],x+1,y+1);
		else if(aa=='A'&&(block[x][y+1]==33||block[x][y+1]==17||block[x][y+1]==16||block[x][y+1]==25))workE(block[x][y+1],x,y+1);
		else if(aa=='W'&&(block[x+2][y]==33||block[x+2][y]==17||block[x+2][y]==16||block[x+2][y]==25))workE(block[x+2][y],x+2,y);
		else if(aa=='S'&&(block[x-1][y]==33||block[x-1][y]==17||block[x-1][y]==16||block[x-1][y]==25))workE(block[x-1][y],x-1,y);
		if(aa==' '&&block[x+2][y]==0&&block[x-1][y]!=0)UPDOWN_SPEED=1;
	}
 } 
int Min,Minx,Miny,vis[258][1029],Rap;
void AI(int X,int Y,int k,int mx,int my)
{
	//cout<<X<<","<<Y<<endl;
	Rap++;
	if(k>=Min||vis[X][Y]||abs(X-x)+abs(Y-y)>=12)return;
	if(X<1||Y<1||X>200||Y>1000)return;
	vis[X][Y]=1;
	if(X==x&&Y==y)
	{
		Min=k;
		Minx=mx,Miny=my;
		return;
	}
	if(block[X-1][Y]==0&&!vis[X-1][Y])AI(X-1,Y,k+1,mx,my);
	else
	{
		if(Can(X,Y+1)&&!vis[X][Y+1])AI(X,Y+1,k+1,k==0?0:mx,k==0?1:my);
		if(Can(X,Y-1)&&!vis[X][Y-1])AI(X,Y-1,k+1,k==0?0:mx,k==0?-1:my);
		if(Can(X+1,Y+1)&&!vis[X+1][Y+1])AI(X+1,Y+1,k+1,k==0?1:mx,k==0?1:my);
		if(Can(X+1,Y-1)&&!vis[X+1][Y-1])AI(X+1,Y-1,k+1,k==0?1:mx,k==0?-1:my);
	}
	vis[X][Y]=0;	
}
void Clac()
{
	Time++;int cc=0;
	for(int i=x-10;i<=x+10;i++)
	  for(int j=y-10;j<=y+10;j++)
	  if(block[i][j]==47&&block[i+3][j]==47&&x==i+1&&y==j)cc=1;
	if(cc)Rape++;
	else Rape=0;
	if(Rape)
	{
		if(Rape<10)
	{
		system("cls");Sleep(100);
	}
	else
	{
		Rape=0;
		if(y<900)
		{
			YLY=y;
			y=y/10+900;
			x=Dpx[y]+1;
			block[x-1][y-1]=47;block[x+2][y-1]=47;
		}
		else
		{
			y=YLY;
			x=Dpx[y]+1;
		}
	}
	}
	if(Eat>8&&Health<10)
	{
		int Rp=rand()%20==0;
		if(Rp)
		Health++,Eat-=rand()%2==0;
	}
	if(Time%DayLong>=DayLong*7/10)bk=bk3;
	else if(Time%DayLong>=DayLong*6/10)bk=bk2;
	else if(Time%DayLong>=DayLong*5/10)bk=bk1;
	else if(Time%DayLong<DayLong/2)bk=bk0;
	for(int i=x-5;i<=x+5;i++)
		  for(int j=y-15;j<=y+15;j++)if(Can(i,j)&&(block[i-1][j]==36||block[i][j-1]==36||block[i][j+1]==36)&&rand()%200==0)
		  {
		  	for(int o=1;o<=64;o++)
				if(wor[o].Delete)
				{
					wor[o].Delete=0;
					wor[o].x=i;
					wor[o].y=j;
					wor[o].heal=5;
					wor[o].node=2;break;
				}
		  }
	if(bk==bk3||bk==bk2)
	{
		for(int i=x-30;i<=x+30;i++)
		  for(int j=y-30;j<=y+30;j++)
		  if(Can(i,j)&&block[i-1][j]!=0&&abs(i-x)+abs(j-y)>12&&rand()%200==0)
		  {
		  	for(int o=1;o<=64;o++)
				if(wor[o].Delete)
				{
					wor[o].Delete=0;
					wor[o].x=i;
					wor[o].y=j;
					wor[o].heal=10;
					wor[o].node=0;break;
				}
		  }
		  else if(Can(i,j)&&block[i-1][j]!=0&&abs(i-x)+abs(j-y)>12&&rand()%300==0) 
		  {
		  	for(int o=1;o<=64;o++)
				if(wor[o].Delete)
				{
					wor[o].Delete=0;
					wor[o].x=i;
					wor[o].y=j;
					wor[o].heal=10;
					wor[o].node=1;break;
				}
		  }
	}
	for(int i=x-10;i<=x+10;i++)
		for(int j=y-10;j<=y+10;j++)if(block[i][j]==42||block[i][j]==38||block[i][j]==39||block[i][j]==40||block[i][j]==44||block[i][j]==46||block[i][j]==45)block[i][j]=0;
	for(int i=x-10;i<=x+10;i++)
		for(int j=y-10;j<=y+10;j++)
		if(i>0&&j>0)
		{
			if(j>900&&(block[i][j]==37))block[i][j]=0;
			if(block[i][j]==37||block[i][j]==38||block[i][j]==39||block[i][j]==40||block[i][j]==42)
			{
				if(!block[i-1][j]||block[i-1][j]==42)block[i-1][j]=42;
				else
				{
				if(!block[i][j+1]&&block[i][j]!=42)block[i][j+1]=block[i][j]+1;	
				if(!block[i][j-1]&&block[i][j]!=42)block[i][j-1]=block[i][j]+1;
				}
			}
			if(block[i][j]==43||block[i][j]==44||block[i][j]==46)
			{
				if(!block[i-1][j]||block[i-1][j]==46)block[i-1][j]=42;
				else
				{
				if(!block[i][j+1]&&block[i][j]!=46)block[i][j+1]=block[i][j]+1;	
				if(!block[i][j-1]&&block[i][j]!=46)block[i][j-1]=block[i][j]+1;
				}
			}
			if(block[i][j]==43&&(block[i+1][j]>=37&&block[i+1][j]<=42||block[i][j-1]>=37&&block[i][j-1]<=42||block[i][j+1]>=37&&block[i][j+1]<=42))block[i][j]=47;
			if(block[i+1][j]>=43&&block[i+1][j]<=46&&(block[i+1][j]>=37&&block[i+1][j]<=42||block[i][j-1]>=37&&block[i][j-1]<=42||block[i][j+1]>=37&&block[i][j+1]<=42))block[i][j]=5;
		}
	for(int i=1;i<=64;i++)
	if(wor[i].heal<=0&&wor[i].Delete==0)
	{
		int GIVET=0,RP=1;
		if(wor[i].node==0)GIVET=rand()%2==0?31:rand()%20==0?20:0;
		if(wor[i].node==1)GIVET=rand()%2==0?47:0;
		if(wor[i].node==2)GIVET=rand()%2==0?51:0;
			for(int T=1;T<=4&&RP;T++)
			  for(int j=1;j<=4;j++)if((bag[T][j].thing==0||bag[T][j].thing==GIVET)&&bag[T][j].num<64)
			  {
			  	bag[T][j].thing=GIVET,bag[T][j].num++;RP=0;break;
			  }
		wor[i].Delete=1;
	}
	else if(Time%5==0&&!wor[i].Delete)
	{
		if(block[wor[i].x-1][wor[i].y]==0)wor[i].x--;
		else if(wor[i].node==1&&abs(wor[i].x-x)+abs(wor[i].y-y)<=4)
		{
			for(int ii=wor[i].x-3;ii<=wor[i].x+3;ii++)
			  for(int jj=wor[i].y-3;jj<=wor[i].y+3;jj++)
			  if(abs(ii-wor[i].x)+abs(jj-wor[i].y)<=3)block[ii][jj]=0;wor[i].Delete=1;
			Health-=pow(2,5-abs(wor[i].x-x)-abs(wor[i].y-y));
		}
		else if(wor[i].node==2&&abs(wor[i].x-x)+abs(wor[i].y-y)<=5)
		{
			Health-=rand()%3==0;
		}
		else if(abs(wor[i].x-x)+abs(wor[i].y-y)>64)wor[i].Delete=1;
		else if(abs(wor[i].y-y)==1&&abs(wor[i].x-x)<=1)Health-=(Time%3==0);
		else if(abs(wor[i].x-x)+abs(wor[i].y-y)<20)
		{
			Min=12;Minx=0,Miny=0;memset(vis,0,sizeof(vis)); Rap=0;
			AI(wor[i].x,wor[i].y,0,0,0);
			if(Minx!=0||Miny!=0)
			wor[i].x+=Minx,wor[i].y+=Miny;
			else wor[i].y+=(rand()%4==0)*(rand()%3-1);//cout<<Minx<<","<<Miny<<":"<<Rap<<"          "<<endl;
		}
	}
	
	for(int i=1;i<=6;i++)
	  for(int j=1;j<=10;j++)if(bag[i][j].num<=0)bag[i][j].thing=0,bag[i][j].num=0;else if(bag[i][j].nj==0)bag[i][j].nj=10;
	  for(int i=1;i<=abs(UPDOWN_SPEED);i++)
	if(block[x-1][y]==0||UPDOWN_SPEED==1)
	{
		if(UPDOWN_SPEED>0)x++;else x--;
	}
	if(FN==0)
	{
		if(block[x-1][y]!=0)
		{
			Health-=(-UPDOWN_SPEED-2>0)?pow(2,-UPDOWN_SPEED-2):0;
			UPDOWN_SPEED=0;
		}
		else UPDOWN_SPEED--;
	}
	else {
	if(DOWN('S'))x--;else if(DOWN('W'))x++;}
	//DIE=0;
}
void BodyClac()
{
	if(Health<=0)DIE=1;
	if(DIE==0)
	{
		if(block[x+1][y]!=0)Health-=(rand()%10==0);
		if(block[x][y]==0)block[x][y]=-3;
		if(block[x+1][y]==0)block[x+1][y]=-1;
	}
	else
	{
		if(block[x][y]==0)block[x][y]=-3;
		if(block[x+1][y]==0)block[x+1][y]=-2;
		DEAD();
	}
}
void Start()
{
	cout<<"  "<<endl;
	while(1)
	{
		BodyClac();
		Output();
		if(!CHOOSERROR)Input();else InputE();
		Clac();
		Sleep(100);
	}
}
int main()
{
	readcd();
	srand(seed);
	cout<<"Welcome To INF MC(v1.1)\n";
	cout<<"1.超平坦\n";
	cout<<"2.普通\n";
	cout<<"3.兼容性问题(无法控制/乱码)处理\n";
	cout<<"4.帮助-https://www.luogu.com.cn/paste/umzg0c5a\n";
	if(PRINTERROR!=0)BLOCK[1]="▓",BLOCK[2]="▓",BLOCK[15]="▓",cout<<"已修复PrintERR的错误\n";
	if(CHOOSERROR!=0)cout<<"已修复ChooseERR的错误\n";
	int a=getch();
	if(a=='1')
	CreateWorld(1);
	else CreateWorld(2);
	if(a=='3')
	{
		system("cls");
		cout<<"ERROR解决:\n1.乱码->将开头的#define PRINTERROR中的0改为1\n2.操作失灵->将开头的#define CHOOSERROR中的0改为1(此操作将使你shift键操作改为r)\n";
		system("pause");
	}
	cout<<"您是否要选择作弊模式0/1(tp,summon,set等指令)?";if(getch()!='1')op=0;
	system("cls");
	Start();
}
 
 

结尾

BeyBey~ 

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值