目录
1.
#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();
}
2.
#include <iostream>
#include <conio.h>
#include <string>
#include <map>
#include <cmath>
#include <windows.h>
#include <time.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int fallspeed;
int jumpspeed = -3;
int gravity = 1;
int y = 400, x = 500;
int restartposy, restartposx, face, health = 1000, lasthealth = 1000, breath = 100, hungry = 1000, dienum;
bool attack, defense, hurt, mode;
struct TNT
{
int y;
int x;
int time;
bool issave;
};
struct BLOCK
{
int color;
string ch;
string type;
};
struct MOB
{
int fallspeed;
int health;
bool hurt;
int y;
int x;
int attack;
string shap;
bool isenemy;
int color;
string name;
};
struct ARROW
{
string shap;
double y;
double x;
double fallspeed;
double plusx;
};
TNT tnt[20];
string die;
ARROW arrow[100];
MOB mobs[50] = {
{0,1000,0,0,0,100,"危",true,7,"危"},
{0,10,0,0,0,10," ",true,7," "},
{0,1000,0,0,0,100,"MM",false,7,"MM"},
{0,100000,0,90,70,-100,"AC",true,7,"Accept"},
{0,10000,0,90,70,500,"BO",true,7,"BOSS"},
{0,100000,0,90,70,-1000,"AK",true,7,"AK"},
};
MOB mob[100] = {
{0,1000,0,92,4,100,"WA",true,7,"Wrong Anwser"},
{0,1000,0,92,4,100,"TL",true,7,"Time Limit Error"},
{0,2000,0,92,4,300,"CE",true,7,"Compile Error"},
{0,1000,0,45,9,100,"WA",true,7,"Wrong Anwser"},
{0,100000,0,90,70,-100,"AC",true,7,"Accept"},
{0,100000,0,90,70,-1000,"AK",true,7,"AK"},
{0,10000,0,90,70,500,"UK",true,7,"Unknown Error"},
{0,1000,0,92,3,0,"MM",false,7,"MM"},
{0,1000,0,92,3,0,"MM",false,7,"MM"},
{0,1000,0,90,15,0,"MM",false,7,"MM"},
{0,1000,0,90,80,0,"MM",false,7,"MM"},
};
BLOCK block[32] = {
{0," ","air"},//空气
{6,"██","block"},//土块
{8,"██","block"},//石头
{2,"██","block"},//草方块
{15,"██","block"},//雪块
{4,"██","block"},//岩浆块
{14,"▓▓","fallblock"},//沙块
{8,"II","fallblock"},//铁砧
{9,"██","water"},//水
{9,"▇▇","water"},//水
{9,"▆▆","water"},//水
{9,"▅▅","water"},//水
{9,"▄▄","water"},//水
{9,"▃▃","water"},//水
{9,"▂▂","water"},//水
{9,"▁▁","water"},//水
{12,"██","lava"},//岩浆
{12,"▇▇","lava"},//岩浆
{12,"▆▆","lava"},//岩浆
{12,"▅▅","lava"},//岩浆
{12,"▄▄","lava"},//岩浆
{12,"▃▃","lava"},//岩浆
{12,"▂▂","lava"},//岩浆
{12,"▁▁","lava"},//岩浆
{12,"危","background"},//危
{6,"██","background"},//木头
{10,"▓▓","background"},//树叶
{15,"▓▓","background"},//带雪树叶
{15,"▅▅","bomb"},//TNT爆炸
{12,"Ⅲ","TNT"},//TNT
{7,"Ⅲ","TNT"},//TNT2
{6,"∷","ladder"},//梯子
};
int board[1005][1005];
int setboard[1005][1005];
int bag[100];
int clear_buffer()
{
while(kbhit())
{
if(getch() != EOF);
for(int i = 1; i <= 256; i++)
{
if(GetAsyncKeyState(i));
}
}
return 0;
}
void color(int a)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
/* 1 深蓝色
2 深绿色
3 深青色
4 深红色
5 深粉色
i 黄色
7 深白色
8 灰色
9 浅蓝色
10 浅绿色
11 浅青色
12 浅红色
13 浅粉色
14 浅黄色
15 浅白色
背景
1~15 黑色
16~31 深蓝色
32~47 深绿色
48~63 深青色
64~79 深红色
'S'~95 深粉色
96~111 深黄色
112~127 深白色
128~143 灰色
144~159 浅蓝色
160~1'A' 浅绿色
176~191 浅青色
192~207 浅红色
208~223 浅粉色
224~239 浅黄色
240~255 浅白色
*/
}
int init()//听说有人要我增加地图生成的注释,所以我就写了。
{
for(int j = 0; j < 100; j++)
{
bag[j] = 0;//这个...初始化背包
}
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
board[i][j] = 0;//初始化地图 (我们的y是倒着来的)
}
}
double lasty = rand() % 101 + 400;//lasty代表上一个我们选择的点的高度。
for(int i = 5; i < 1000; i += 5)//i每次加5,每隔5个点连一条线
{
double y = rand() % 21 - 10 + lasty;//y代表这个点我们选择的高度,为了不出现太陡峭的山,我们只允许这个高度在刚才的点的高低10格内。
y = min(450.0, y);//这是最小高度,防止整个地图都在水里。
double high = lasty;//这个high是用来统计当前高度的,用double可以更加精确。
int dirt = rand() % 5 + 2;//dirt代表这一列上泥土高度。
for(int j = i - 5; j < i; j++)
{
high += (y - lasty) / 5;//high每次增加差距的1/5。
for(int k = 999; k >= (int)high; k--)
{
if(k == (int)high)//如果是最高点
{
setboard[k][j] = 3;//就用草地
if(high <= 350)//如果high比较高
{
setboard[k][j] = 4;//就用雪地
}
}
else if(k - dirt <= (int)high)//泥土
{
setboard[k][j] = 1;
}
else
{
setboard[k][j] = 2;//石头
}
}
}
lasty = y;//赋值
}
//再来一边,填满最后几格
int dirt = rand() % 5 + 2;
double high = lasty;
for(int j = 995; j < 999; j++)
{
for(int k = 999; k >= (int)high; k--)
{
if(k == (int)high)
{
setboard[k][j] = 3;
if(high <= 350)
{
setboard[k][j] = 4;
}
}
else if(k - dirt <= (int)high)
{
setboard[k][j] = 1;
}
else
{
setboard[k][j] = 2;
}
}
}
//填满水,这里默认把海平面高度设为410。
for(int i = 0; i < 1000; i++)
{
for(int j = 600; j >= 410; j--)
{
if(setboard[j][i] == 0)
{
setboard[j][i] = 8;
}
}
}
//沙子
for(int i = 0; i < 1000; i++)
{
bool a = 0;
for(int j = 999; j >= 0; j--)
{
if(a && setboard[j][i] != 0 && setboard[j][i] != 8)
{
setboard[j][i] = 6;
continue;
}
if(setboard[j][i] == 8)
{
continue;
}
if(setboard[j][i + 3] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j][i + 2] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j][i + 1] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j][i - 1] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j][i - 2] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j][i - 3] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j - 2][i] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j - 1][i] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j - 3][i] == 8)
{
a = true;
setboard[j][i] = 6;
}
if(setboard[j - 4][i] == 8)
{
a = true;
setboard[j][i] = 6;
}
}
}
//树
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
if(setboard[j][i] == 0 && block[setboard[j + 1][i]].type == "block")
{
if(rand() % 10 == 1)
{
setboard[j][i] = 25;
setboard[j - 1][i] = 25;
setboard[j - 2][i] = 25;
setboard[j - 3][i] = 25;
setboard[j - 3][i + 1] = 26;
setboard[j - 3][i - 1] = 26;
setboard[j - 4][i + 2] = 26;
setboard[j - 4][i + 1] = 26;
setboard[j - 4][i] = 26;
setboard[j - 4][i - 1] = 26;
setboard[j - 4][i - 2] = 26;
setboard[j - 5][i + 2] = 26;
setboard[j - 5][i + 1] = 26;
setboard[j - 5][i] = 26;
setboard[j - 5][i - 1] = 26;
setboard[j - 5][i - 2] = 26;
setboard[j - 6][i + 1] = 26;
setboard[j - 6][i] = 26;
setboard[j - 6][i - 1] = 26;
if(j <= 350)
{
setboard[j - 3][i + 1] = 27;
setboard[j - 3][i - 1] = 27;
setboard[j - 4][i + 2] = 27;
setboard[j - 4][i + 1] = 27;
setboard[j - 4][i] = 27;
setboard[j - 4][i - 1] = 27;
setboard[j - 4][i - 2] = 27;
setboard[j - 5][i + 2] = 27;
setboard[j - 5][i + 1] = 27;
setboard[j - 5][i] = 27;
setboard[j - 5][i - 1] = 27;
setboard[j - 5][i - 2] = 27;
setboard[j - 6][i + 1] = 27;
setboard[j - 6][i] = 27;
setboard[j - 6][i - 1] = 27;
}
}
}
}
}
//地洞
for(int j = 999; j >= 700; j--)
{
if(rand() % 20 == 1)
{
setboard[j - 3][2] = 0;
setboard[j - 2][2] = 0; setboard[j - 2][3] = 0;
setboard[j - 1][2] = 0; setboard[j - 1][3] = 0; setboard[j - 1][4] = 0;
setboard[j][2] = 0; setboard[j][3] = 0; setboard[j][4] = 0; setboard[j][5] = 0;
setboard[j + 1][2] = 0; setboard[j + 1][3] = 0; setboard[j + 1][4] = 0;
setboard[j + 2][2] = 0; setboard[j + 2][3] = 0;
setboard[j + 3][2] = 0;
}
}
for(int i = 3; i < 997; i++)
{
for(int j = 996; j >= 500; j--)
{
if(block[setboard[j + 3][i]].type == "block" && block[setboard[j - 3][i]].type == "block" && setboard[j][i] == 0 && setboard[j + 1][i] == 0 && setboard[j + 2][i] == 0 && setboard[j - 1][i] == 0 && setboard[j - 2][i] == 0)
{
j += rand() % 5 - 2;
j = max(3, j);
j = min(996, j);
if(rand() % 500 <= 499)
{
setboard[j - 3][i] = 0;
setboard[j - 2][i - 1] = 0; setboard[j - 2][i] = 0; setboard[j - 2][i + 1] = 0;
setboard[j - 1][i - 2] = 0; setboard[j - 1][i - 1] = 0; setboard[j - 1][i] = 0; setboard[j - 1][i + 1] = 0; setboard[j - 1][i + 2] = 0;
setboard[j][i - 3] = 0; setboard[j][i - 2] = 0; setboard[j][i - 1] = 0; setboard[j][i] = 0; setboard[j][i + 1] = 0; setboard[j][i + 2] = 0; setboard[j][i + 3] = 0;
setboard[j + 1][i - 2] = 0; setboard[j + 1][i - 1] = 0; setboard[j + 1][i] = 0; setboard[j + 1][i + 1] = 0; setboard[j + 1][i + 2] = 0;
setboard[j + 2][i - 1] = 0; setboard[j + 2][i] = 0; setboard[j + 2][i + 1] = 0;
setboard[j + 3][i] = 0;
if(rand() % 20 == 1)
{
for(int k = 0; k < 100; k++)
{
if(mob[k].shap == "")
{
mob[k] = {0,1000,0,0,0,100,"SS",true,7,"僵尸"};
mob[k].x = i;
mob[k].y = j;
break;
}
}
}
}
}
else if(block[setboard[j + 3][i]].type == "block" && block[setboard[j + 2][i]].type == "block" && block[setboard[j + 1][i]].type == "block" && block[setboard[j][i]].type == "block" && block[setboard[j - 1][i]].type == "block" && block[setboard[j - 2][i]].type == "block" && block[setboard[j - 3][i]].type == "block")
{
if(rand() % 500 == 1)
{
setboard[j - 3][i] = 0;
setboard[j - 2][i - 1] = 0; setboard[j - 2][i] = 0; setboard[j - 2][i + 1] = 0;
setboard[j - 1][i - 2] = 0; setboard[j - 1][i - 1] = 0; setboard[j - 1][i] = 0; setboard[j - 1][i + 1] = 0; setboard[j - 1][i + 2] = 0;
setboard[j][i - 3] = 0; setboard[j][i - 2] = 0; setboard[j][i - 1] = 0; setboard[j][i] = 0; setboard[j][i + 1] = 0; setboard[j][i + 2] = 0; setboard[j][i + 3] = 0;
setboard[j + 1][i - 2] = 0; setboard[j + 1][i - 1] = 0; setboard[j + 1][i] = 0; setboard[j + 1][i + 1] = 0; setboard[j + 1][i + 2] = 0;
setboard[j + 2][i - 1] = 0; setboard[j + 2][i] = 0; setboard[j + 2][i + 1] = 0;
setboard[j + 3][i] = 0;
}
}
}
}
//出生点
bool a = false;
for(int i = 400; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
if(setboard[j][i] == 0 && block[setboard[j + 1][i]].type == "block" && (setboard[j + 1][i] == 3 || setboard[j + 1][i] == 4))
{
restartposy = j;
restartposx = i;
y = j;
x = i;
a = true;
break;
}
}
if(a)
{
break;
}
}
return 0;
}
int Arrowmove()
{
for(int i = 0; i < 100; i++)
{
if(arrow[i].shap == "")
{
continue;
}
arrow[i].x += (int)arrow[i].plusx;
arrow[i].plusx -= 0.1;
for(int j = (int)arrow[j].y + 1; j <= (int)arrow[j].y + (int)arrow[j].fallspeed; j++)
{
if(block[board[j][(int)arrow[j].x]].type == "block" || block[board[j][(int)arrow[j].x]].type == "fallblock")
{
arrow[i].fallspeed = 0;
return 0;
}
}
arrow[i].y += arrow[i].fallspeed;
arrow[i].fallspeed += 0.1;
if(arrow[i].y > 999)
{
arrow[i].shap = "";
}
if(block[board[(int)arrow[i].y + 1][(int)arrow[i].x]].type == "block" || block[board[(int)arrow[i].y + 1][(int)arrow[i].x]].type == "fallblock")
{
arrow[i].shap = "";
}
}
return 0;
}
int mobmove()
{
for(int j = 0; j < 100; j++)
{
if(mob[j].shap == "")
{
continue;
}
mob[j].hurt = false;
mob[j].color = 7;
if(mob[j].health <= 0 || mob[j].y > 999)
{
mob[j].shap = "";
mob[j].color = 7;
continue;
}
if(block[board[mob[j].y][mob[j].x]].type == "lava")
{
mob[j].health -= 200;
mob[j].hurt = true;
}
else if((board[mob[j].y + 1][mob[j].x] == 5) || ((mob[j].y == y || mob[j].y == y - 1) && (mob[j].x == x + 1 || mob[j].x == x || mob[j].x == x - 1) && KEY_DOWN(' ')))
{
mob[j].health -= 100;
mob[j].hurt = true;
}
if(mob[j].y == y && mob[j].x == x && mob[j].isenemy)
{
health -= mob[j].attack;
hurt = true;
die = "被 " + mob[j].name + " 杀死了";
}
for(int i = mob[j].y - 1; i >= mob[j].y + mob[j].fallspeed; i--)
{
if(block[board[i - 1][mob[j].x]].type == "block")
{
mob[j].fallspeed = 0 - mob[j].y + i + 1;
return 0;
}
}
for(int i = mob[j].y + 1; i <= mob[j].y + mob[j].fallspeed; i++)
{
if(block[board[i][mob[j].x]].type == "block" || block[board[i][mob[j].x]].type == "fallblock")
{
if(mob[j].fallspeed >= 5 && block[board[i - 1][mob[j].x]].type == "water")
{
mob[j].health -= 50 * (mob[j].fallspeed - 4);
mob[j].hurt = true;
}
mob[j].fallspeed = 0;
return 0;
}
}
mob[j].y += mob[j].fallspeed;
mob[j].fallspeed += gravity;
if(mob[j].isenemy)
{
if(mob[j].y > y && (block[board[mob[j].y + 1][mob[j].x]].type == "block" || block[board[mob[j].y + 1][mob[j].x]].type == "fallblock"))
{
if(mob[j].y > y + 50)
{
mob[j].fallspeed = -7;
}
mob[j].fallspeed = -3;
}
if(mob[j].x < x)
{
if(block[board[mob[j].y][mob[j].x + 1]].type != "block" || block[board[mob[j].y][mob[j].x + 1]].type != "fallblock")
{
mob[j].x++;
}
else if(block[board[mob[j].y + 1][mob[j].x]].type == "block" || block[board[mob[j].y + 1][mob[j].x]].type != "fallblock")
{
mob[j].fallspeed = -3;
}
}
else if(mob[j].x > x)
{
if(block[board[mob[j].y][mob[j].x - 1]].type != "block" || block[board[mob[j].y][mob[j].x - 1]].type != "fallblock")
{
mob[j].x--;
}
else if(block[board[mob[j].y + 1][mob[j].x]].type == "block" || block[board[mob[j].y + 1][mob[j].x]].type != "fallblock")
{
mob[j].fallspeed = -3;
}
}
}
else
{
if(rand() % 3 == 0)
{
if(block[board[mob[j].y][mob[j].x + 1]].type != "block" || block[board[mob[j].y][mob[j].x + 1]].type != "fallblock")
{
mob[j].x++;
}
else if(block[board[mob[j].y + 1][mob[j].x]].type == "block" || block[board[mob[j].y + 1][mob[j].x]].type != "fallblock")
{
mob[j].fallspeed = -3;
}
}
else if(rand() % 3 == 1)
{
if(block[board[mob[j].y][mob[j].x - 1]].type != "block" || block[board[mob[j].y][mob[j].x - 1]].type != "fallblock")
{
mob[j].x--;
}
else if(block[board[mob[j].y + 1][mob[j].x]].type == "block" || block[board[mob[j].y + 1][mob[j].x]].type != "fallblock")
{
mob[j].fallspeed = -3;
}
}
}
if(mob[j].hurt)
{
mob[j].color = 12;
}
}
return 0;
}
int print()
{
if(!mode)
{
color(8);
cout << "生命值:";
color(12);
cout << health << endl;
for(int i = 0; i < health; i += 100)
{
cout << "◆";
}
color(7);
for(int i = health; i < lasthealth; i += 100)
{
cout << "◇";
}
cout << endl;
color(8);
cout << "氧气:";
color(11);
cout << breath << endl;
for(int i = 0; i < breath; i += 10)
{
cout << "●";
}
for(int i = breath; i < 91; i += 10)
{
cout << "○";
}
cout << endl;
color(8);
cout << "饱食度:";
color(14);
cout << hungry << endl;
for(int i = 0; i < hungry; i += 100)
{
cout << "§";
}
cout <<endl <<"按c以加满饱食度" <<endl;
}
color(8);
cout << "死亡次数:";
color(4);
cout << dienum << endl;
for(int i = y - 6; i <= y + 6; i++)
{
for(int j = x - 6; j <= x + 6; j++)
{
bool ismob = false;
for(int s = 0; s < 100; s++)
{
if(mob[s].shap == "")
{
continue;
}
else if(mob[s].x == j && mob[s].y == i)
{
color(mob[s].color);
cout << mob[s].shap;
ismob = true;
break;
}
}
if(ismob)
{
continue;
}
for(int s = 0; s < 100; s++)
{
if(arrow[s].shap == "")
{
continue;
}
else if((int)arrow[s].x == j && (int)arrow[s].y == i)
{
color(7);
cout << arrow[s].shap;
ismob = true;
break;
}
}
if(ismob)
{
continue;
}
else if(i == y && j == x)
{
if (KEY_DOWN('S'))
{
color(14);
if(hurt)
{
color(12);
}
cout << "()";
}
else
{
color(9);
if(hurt)
{
color(12);
}
cout << "∏";
}
}
else if(i == y - 1 && j == x)
{
if (!KEY_DOWN('S'))
{
color(14);
if(hurt)
{
color(12);
}
cout << "()";
}
else
{
color(block[board[i][j]].color);
cout << block[board[i][j]].ch;
}
}
else
{
if(i < 0 || i >= 1000 || j < 0 || j >= 1000)
{
cout << " ";
continue;
}
color(block[board[i][j]].color);
cout << block[board[i][j]].ch;
}
}
cout << endl;
}
color(7);
cout << "Y坐标:";
color(6);
cout << 1000 - y << endl;
color(7);
cout << "X坐标:";
color(6);
cout << x << endl;
return 0;
}
int move()
{
if(board[y][x] == 31)
{
y += fallspeed;
return 0;
}
if(block[board[y][x]].type == "water")
{
if(fallspeed > 1)
{
fallspeed = 1;
}
}
else
{
for(int i = y - 1; i >= y + fallspeed; i--)
{
if(block[board[i - 1][x]].type == "block" || block[board[i - 1][x]].type == "fallblock")
{
fallspeed = 0 - y + i + 1;
return 0;
}
}
}
for(int i = y + 1; i <= y + fallspeed; i++)
{
if(block[board[i][x]].type == "block" || block[board[i][x]].type == "fallblock")
{
if(fallspeed >= 5 && block[board[i - 1][x]].type != "water")
{
health -= 50 * (fallspeed - 4);
if(fallspeed >= 7)
{
die = "落地过猛";
}
else
{
die = "从高处摔了下来";
}
hurt = true;
}
fallspeed = 0;
return 0;
}
}
y += fallspeed;
fallspeed += gravity;
return 0;
}
int bomb()
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == 0)
{
int atk = 0;
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 4)
{
atk = 50;
fallspeed -= 1;
x += x - tnt[i].x;
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 3)
{
atk = 100;
fallspeed -= 2;
x += x - tnt[i].x;
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 2)
{
atk = 300;
fallspeed -= 4;
x += 2 * (x - tnt[i].x);
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 1)
{
atk = 500;
fallspeed -= 7;
x += 5 * (x - tnt[i].x);
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 0)
{
atk = 800;
fallspeed -= 10;
}
tnt[i].time--;
if(!tnt[i].issave)
{
health -= atk;
}
die = "被TNT炸死了";
if(atk > 0 && !tnt[i].issave)
{
hurt = true;
}
if(!tnt[i].issave)
{
for(int yy = tnt[i].y - 3; yy <= tnt[i].y + 3; yy++)
{
for(int xx = tnt[i].x - 3; xx <= tnt[i].x + 3; xx++)
{
if((int)(sqrt(abs(yy - tnt[i].y) * abs(yy - tnt[i].y) + abs(xx - tnt[i].x) * abs(xx - tnt[i].x)) + 0.9999) == 3)
{
setboard[yy][xx] = 28;
}
if((int)(sqrt(abs(yy - tnt[i].y) * abs(yy - tnt[i].y) + abs(xx - tnt[i].x) * abs(xx - tnt[i].x)) + 0.9999) < 3)
{
setboard[yy][xx] = 0;
}
}
}
}
}
else if(tnt[i].time == -1)
{
setboard[tnt[i].y][tnt[i].x] = 0;
if(!tnt[i].issave)
{
for(int yy = tnt[i].y - 3; yy <= tnt[i].y + 3; yy++)
{
for(int xx = tnt[i].x - 3; xx <= tnt[i].x + 3; xx++)
{
if((int)(sqrt(abs(yy - tnt[i].y) * abs(yy - tnt[i].y) + abs(xx - tnt[i].x) * abs(xx - tnt[i].x)) + 0.9999) <= 3)
{
setboard[yy][xx] = 0;
}
}
}
}
tnt[i].time--;
}
else if(tnt[i].time > 0)
{
tnt[i].time--;
if(tnt[i].time % 2 == 0)
{
setboard[tnt[i].y][tnt[i].x] = 29;
}
else
{
setboard[tnt[i].y][tnt[i].x] = 30;
}
}
}
return 0;
}
int check()
{
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
if(block[board[i][j]].type == "water" && board[i][j] != 15)
{
if(board[i + 1][j] == 0)
{
setboard[i + 1][j] = board[i][j];
setboard[i + 1][j] = 8;
}
else if(block[board[i + 1][j]].type == "lava")
{
setboard[i + 1][j] = 2;
}
else if(block[board[i + 1][j]].type == "block" || block[board[i + 1][j]].type == "fallblock")
{
if(board[i][j + 1] == 0)
{
setboard[i][j + 1] = board[i][j] + 1;
}
else if(block[board[i][j + 1]].type == "lava")
{
setboard[i][j + 1] = 2;
}
if(board[i][j - 1] == 0)
{
setboard[i][j - 1] = board[i][j] + 1;
}
else if(block[board[i][j - 1]].type == "lava")
{
setboard[i][j - 1] = 2;
}
}
}
if(block[board[i][j]].type == "lava" && board[i][j] != 23)
{
if(board[i + 1][j] == 0)
{
setboard[i + 1][j] = board[i][j];
setboard[i + 1][j] = 16;
}
else if(block[board[i + 1][j]].type == "water")
{
setboard[i + 1][j] = 2;
}
else if(block[board[i + 1][j]].type == "block" || block[board[i + 1][j]].type == "fallblock")
{
if(board[i][j + 1] == 0)
{
setboard[i][j + 1] = board[i][j] + 1;
}
else if(block[board[i][j + 1]].type == "water")
{
setboard[i][j + 1] = 2;
}
if(board[i][j - 1] == 0)
{
setboard[i][j - 1] = board[i][j] + 1;
}
else if(block[board[i][j - 1]].type == "water")
{
setboard[i][j - 1] = 2;
}
}
}
if(block[board[i][j]].type == "fallblock")
{
if(board[i + 2][j] == 0 && board[i + 1][j] == 0 && i + 2 < 100)
{
setboard[i][j] = 0;
setboard[i + 2][j] = board[i][j];
if(board[i][j] == 7 && j == x && i + 2 == y)
{
health -= 600;
hurt = true;
die = "被压扁了";
}
}
else if(board[i + 1][j] == 0 && i + 1 < 100)
{
setboard[i][j] = 0;
setboard[i + 1][j] = board[i][j];
if(board[i][j] == 7 && j == x && i + 1 == y)
{
health -= 600;
hurt = true;
die = "被压扁了";
}
else if(board[i][j] == 7 && j == x && i + 2 == y)
{
health -= 600;
hurt = true;
die = "被压扁了";
}
}
}
}
}
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
board[i][j] = setboard[i][j];
}
}
}
int main()
{
srand((int)time(0));
for(int i = 0; i < 20; i++)
{
tnt[i].time = -2;
}
init();
while(1)
{
system ("cls");
if(!mode)
{
move();
}
if(KEY_DOWN('F'))
{
setboard[y + 1][x] = 2;
}
check();
bomb();
Arrowmove();
mobmove();
if(mode)
{
hurt = false;
}
print();
Sleep(30);
hungry--;
hungry = max(hungry, 0);
if(hungry == 0)
{
die = "饿死了";
hurt = true;
health -= 10;
}
if(mode)
{
health = 1000;
}
if(health <= 0)
{
Sleep(500);
system("cls");
color(12);
cout << " You Died ! " << endl;
color(7);
cout << " Alex " << die << endl;
dienum++;
Sleep(2000);
x = restartposx;
y = restartposy;
health = 1000;
hungry = 1000;
breath = 100;
fallspeed = 0;
}
health += (hungry + 201) / 300;
if(health > 1000)
{
health = 1000;
}
if(attack)
{
attack = 0;
}
if(defense)
{
defense = 0;
}
if(hurt)
{
hurt = false;
lasthealth = health;
}
if(block[board[y][x]].type == "water")
{
fallspeed = 1;
if(KEY_DOWN('W'))
{
fallspeed = -1;
}
}
if(block[board[y - 1][x]].type == "water")
{
die = "被水淹死了";
breath--;
}
else
{
breath++;
if(breath > 100)
{
breath = 100;
}
}
if(board[y][x] == 31)
{
fallspeed = 0;
if(KEY_DOWN('W'))
{
fallspeed = -1;
}
if(KEY_DOWN('S'))
{
fallspeed = 1;
}
}
if(block[board[y][x]].type == "lava")
{
fallspeed = 1;
if(KEY_DOWN('W'))
{
fallspeed = -1;
}
die = "试图在岩浆里游泳";
hurt = true;
health -= 100;
}
if (KEY_DOWN('W') && !KEY_DOWN('S'))
{
if(mode)
{
y--;
}
else
{
if(block[board[y][x]].type != "water" && board[y][x] != 31)
{
if(block[board[y + 1][x]].type == "block" || block[board[y + 1][x]].type == "fallblock")
{
fallspeed = jumpspeed;
}
}
}
}
if (KEY_DOWN('A'))
{
if((block[board[y][x - 1]].type != "block" && block[board[y][x - 1]].type != "fallblock") || mode)
{
if(KEY_DOWN('S') || (block[board[y - 1][x - 1]].type != "block" && block[board[y - 1][x - 1]].type != "fallblock") || mode)
{
x -= 1;
}
}
face = -1;
}
if (KEY_DOWN('D'))
{
if((block[board[y][x + 1]].type != "block" && block[board[y][x + 1]].type != "fallblock") || mode)
{
if(KEY_DOWN('S') || (block[board[y - 1][x + 1]].type != "block" && block[board[y - 1][x + 1]].type != "fallblock") || mode)
{
x += 1;
}
}
face = 1;
}
if(KEY_DOWN('S'))
{
if(mode)
{
y++;
}
else
{
fallspeed += 1;
}
}
if(KEY_DOWN(' '))
{
attack = true;
}
if(KEY_DOWN('E'))
{
system("cls");
color(7);
cout << "┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐" << endl;
for(int i = 0; i < 9; i++)
{
color(7);
cout << "│";
for(int j = 0; j < 10; j++)
{
color(block[bag[i * 10 + j]].color);
cout << block[bag[i * 10 + j]].ch;
color(7);
cout << "│";
}
cout << endl;
color(7);
cout << "├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤" << endl;
}
color(7);
cout << "│";
for(int j = 0; j < 10; j++)
{
color(block[bag[90 + j]].color);
cout << block[bag[90 + j]].ch;
color(7);
cout << "│";
}
color(7);
cout << endl;
cout << "└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘" << endl;
Sleep(3000);
}
if(KEY_DOWN('C'))
{
hungry += 100;
hungry = min(hungry, 1000);
}
if(KEY_DOWN('Q'))
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10, 0};
break;
}
}
}
if(KEY_DOWN('i'))
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10, 1};
break;
}
}
}
if(KEY_DOWN('8'))
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10, 2};
break;
}
}
}
if(KEY_DOWN('9'))
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10, 3};
break;
}
}
}
if(KEY_DOWN('0'))
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10, 4};
break;
}
}
}
if(KEY_DOWN('I'))
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10, 5};
break;
}
}
}
if(KEY_DOWN('Z'))
{
setboard[y + 1][x] = 0;
}
if(KEY_DOWN('X'))
{
setboard[y][x] = 24;
}
if(KEY_DOWN('3'))
{
setboard[y + 1][x] = 6;
}
if(KEY_DOWN('4'))
{
setboard[y + 1][x] = 7;
}
if(KEY_DOWN('1'))
{
setboard[y + 1][x] = 8;
}
if(KEY_DOWN('2'))
{
setboard[y + 1][x] = 16;
}
if(KEY_DOWN('5'))
{
if(face == 1)
{
for(int i = 0; i < 100; i++)
{
if(arrow[i].shap == "")
{
arrow[i] = {"→",y,x,-0.7,2};
break;
}
}
}
else
{
for(int i = 0; i < 100; i++)
{
if(arrow[i].shap == "")
{
arrow[i] = {"←",y,x,-0.7,-2};
break;
}
}
}
}
if(KEY_DOWN('T'))
{
clear_buffer();
system("cls");
cout << "请输入指令(只能输一次):" << endl;
string a;
cout << "kill " <<"杀死自己"<<endl;
cout << "health_full " <<"生命值加满"<<endl;
cout << "hungry_full " <<"饱食度加满"<<endl;
cout << "air_full " <<"氧气值加满"<<endl;
cout << "creative "<<"创造模式"<<endl;
cout << "move " <<"瞬移(可能死亡!)"<<endl;
cout << "summon "<<"有几率生成BOSS"<<endl;
cin >> a;
if(a == "kill")
{
die = "失败了。";
hurt = true;
health = 0;
}
if(a == "health_full")
{
health = 1000;
}
if(a == "hungry_full")
{
hungry = 1000;
}
if(a == "air_full")
{
breath = 100;
}
if(a == "creative")
{
mode = !mode;
}
if(a == "move")
{
cin >> y >> x;
y = 1000 - y;
}
if(a == "summon")
{
int a;
cin >> a;
for(int i = 0; i < 100; i++)
{
if(mob[i].shap == "")
{
mob[i] = mobs[a];
mob[i].x = x;
mob[i].y = y;
break;
}
}
}
}
if(KEY_DOWN('O'))
{
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
setboard[i][j] = 0;
}
}
}
if(KEY_DOWN('P'))
{
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
setboard[i][j] = 2;
}
}
}
if(y > 1000)
{
die = "掉出了这个世界";
hurt = true;
health -= 200;
}
if(breath <= 0)
{
breath = 0;
hurt = true;
health -= 10;
}
if(!KEY_DOWN('S') && block[board[y - 1][x]].type == "block")
{
die = "在墙里窒息死亡";
hurt = true;
health -= 50;
}
if(board[y + 1][x] == 5)
{
hurt = true;
die = "发现了地板是熔岩做的";
health -= 30;
}
clear_buffer();
}
return 0;
}
3.
#include <iostream>
#include <conio.h>
#include <string>
#include <map>
#include <cmath>
#include <windows.h>
#include <time.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int fallspeed;
int jumpspeed = -3;
int gravity = 1;
int y = 90, x = 15, face, health = 1000, lasthealth = 1000, breath = 100, hungry = 1000;
bool attack, defense, hurt, mode;
struct TNT
{
int y;
int x;
int time;
};
TNT tnt[20];
string die;
struct BLOCK
{
int color;
int ch;
};
struct MOB
{
int fallspeed;
int health;
bool hurt;
int y;
int x;
int attack;
string shap;
bool isenemy;
int color;
string name;
};
MOB mobs[50] = {
{0,1000,0,0,0,100,"危",true,7,"危"},
{0,10,0,0,0,10," ",true,7," "},
{0,1000,0,0,0,100,"MM",false,7,"MM"},
{0,1000,0,90,70,-100,"AC",true,7,"Accept"},
{0,10000,0,90,70,500,"BO",true,7,"BOSS"},
};
MOB mob[100] = {
{0,1000,0,92,4,100,"WA",true,7,"Wrong Anwser"},
{0,1000,0,92,4,100,"TL",true,7,"Time Limit Error"},
{0,2000,0,92,4,300,"CE",true,7,"Compile Error"},
{0,1000,0,45,9,100,"WA",true,7,"Wrong Anwser"},
{0,10000,0,90,70,500,"UK",true,7,"Unknown Error"},
{0,1000,0,92,3,0,"MM",false,7,"MM"},
{0,1000,0,92,3,0,"MM",false,7,"MM"},
{0,1000,0,90,15,0,"MM",false,7,"MM"},
{0,1000,0,90,80,0,"MM",false,7,"MM"},
{0,100000,0,90,70,-100,"AC",true,7,"Accept"},
{0,100000,0,90,70,-1000,"AK",true,7,"AK"},
};
string block[30] = {" ","■","≈","危","≈","≡","〓","Ⅲ","■","▓"};
// 0 空气 1 ■
BLOCK board[100][100];
BLOCK setboard[100][100] = {
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{7,1},{6,5},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{6,5},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{6,5},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{6,5},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{12,3},{12,3},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{7,1},{4,1},{4,1},{4,1},{4,1},{4,1},{4,1},{4,1},{4,1},{7,1},{12,4},{12,4},{12,4},{12,4},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{12,4},{12,4},{12,4},{12,4},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{7,1},{7,1},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{7,1},{12,4},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{7,1},{7,1},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{12,3},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{7,1},{12,3},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{12,3},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{7,1},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{7,1},{9,2},{9,2},{9,2},{9,2},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{7,1},{9,2},{9,2},{0,0},{9,2},{7,1},{6,5},{7,1},{0,0},{0,0},{7,1},{8,9},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{7,1},{7,1},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{8,9},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{7,1},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0} ,{0,0},{7,1},{7,1},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{7,1},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{7,1},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1}},
{{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{0,0},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{6,5},{7,1},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{14,9},{14,9},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{14,9},{14,9},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{2,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{14,9},{14,9},{7,1}},
{{7,1},{0,0},{7,1},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{12,3},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{2,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{14,9},{14,9},{7,1}},
{{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{12,3},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{10,6},{2,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{7,1},{9,2},{0,0},{0,0},{0,0},{12,4},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{14,9},{14,9},{14,9},{7,1}},
{{7,1},{2,1},{2,1},{2,1},{2,1},{2,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{2,1},{2,1},{2,1},{0,0},{9,2},{9,2},{9,2},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{2,1},{7,1}},
{{7,1},{6,1},{6,1},{6,1},{6,1},{6,1},{0,0},{0,0},{0,0},{0,0},{14,9},{14,9},{14,9},{6,1},{6,1},{0,0},{9,2},{9,2},{9,2},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{7,1}},
{{7,1},{6,1},{6,1},{6,1},{6,1},{6,1},{8,1},{8,1},{8,1},{8,1},{14,9},{14,9},{6,1},{6,1},{6,1},{6,1},{9,2},{9,2},{9,2},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{6,1},{7,1}},
{{7,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{14,9},{8,1},{8,1},{8,1},{8,1},{8,1},{9,2},{9,2},{9,2},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{7,1}},
{{7,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{7,1},{0,0},{0,0},{0,0},{0,0},{0,0} ,{0,0},{0,0},{0,0},{0,0},{7,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{8,1},{7,1}}
};
void color(int a)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
/* 1 深蓝色
2 深绿色
3 深青色
4 深红色
5 深粉色
6 黄色
7 深白色
8 灰色
9 浅蓝色
10 浅绿色
11 浅青色
12 浅红色
13 浅粉色
14 浅黄色
15 浅白色
背景
1~15 黑色
16~31 深蓝色
32~47 深绿色
48~63 深青色
64~79 深红色
'S'~95 深粉色
96~111 深黄色
112~127 深白色
128~143 灰色
144~159 浅蓝色
160~1'A' 浅绿色
176~191 浅青色
192~207 浅红色
208~223 浅粉色
224~239 浅黄色
240~255 浅白色
*/
}
int mobmove()
{
for(int j = 0; j < 100; j++)
{
if(mob[j].shap == "")
{
continue;
}
if(mob[j].hurt)
{
mob[j].hurt = false;
mob[j].color = 7;
}
if(mob[j].health <= 0)
{
mob[j].shap = "";
mob[j].color = 7;
}
if(mob[j].y > 99)
{
mob[j].shap = "";
mob[j].color = 7;
}
if(board[mob[j].y][mob[j].x].ch == 4)
{
mob[j].health -= 200;
mob[j].hurt = true;
}
if(board[mob[j].y + 1][mob[j].x].ch == 1 && board[mob[j].y + 1][mob[j].x].color == 4)
{
mob[j].health -= 100;
mob[j].hurt = true;
}
if(board[mob[j].y][mob[j].x + 1].ch == 8)
{
mob[j].health -= 100;
mob[j].hurt = true;
}
if(board[mob[j].y][mob[j].x - 1].ch == 8)
{
mob[j].health -= 100;
mob[j].hurt = true;
}
if((mob[j].y == y || mob[j].y == y - 1) && (mob[j].x == x + 1 || mob[j].x == x || mob[j].x == x - 1) && KEY_DOWN(' '))
{
mob[j].health -= 100;
mob[j].hurt = true;
mob[j].fallspeed = -1;
mob[j].x -= 3;
}
if(mob[j].y == y && mob[j].x == x && mob[j].isenemy)
{
health -= mob[j].attack;
hurt = true;
die = "被 " + mob[j].name + " 杀死了";
}
for(int i = mob[j].y - 1; i >= mob[j].y + mob[j].fallspeed; i--)
{
if(board[i - 1][mob[j].x].ch == 1 || board[i - 1][mob[j].x].ch == 9)
{
mob[j].fallspeed = 0 - mob[j].y + i + 1;
return 0;
}
}
for(int i = mob[j].y + 1; i <= mob[j].y + mob[j].fallspeed; i++)
{
if(board[i][mob[j].x].ch == 1 || board[i][mob[j].x].ch == 9)
{
if(mob[j].fallspeed >= 5 && board[i - 1][mob[j].x].ch != 2)
{
mob[j].health -= 50 * (mob[j].fallspeed - 4);
mob[j].hurt = true;
}
mob[j].fallspeed = 0;
return 0;
}
}
mob[j].y += mob[j].fallspeed;
mob[j].fallspeed += gravity;
if(mob[j].isenemy)
{
if(mob[j].y > y && (board[mob[j].y + 1][mob[j].x].ch == 1 || board[mob[j].y + 1][mob[j].x].ch == 9))
{
if(mob[j].y > y + 50)
{
mob[j].fallspeed = -7;
}
mob[j].fallspeed = -3;
}
if(mob[j].x < x)
{
if(board[mob[j].y][mob[j].x + 1].ch != 1 && board[mob[j].y][mob[j].x + 1].ch != 9)
{
mob[j].x++;
}
else if(board[mob[j].y + 1][mob[j].x].ch == 1 || board[mob[j].y + 1][mob[j].x].ch == 9)
{
mob[j].fallspeed = -3;
}
}
else if(mob[j].x > x)
{
if(board[mob[j].y][mob[j].x - 1].ch != 1 && board[mob[j].y][mob[j].x - 1].ch != 9)
{
mob[j].x--;
}
else if(board[mob[j].y + 1][mob[j].x].ch == 1 || board[mob[j].y + 1][mob[j].x].ch == 9)
{
mob[j].fallspeed = -3;
}
}
}
else
{
if(rand() % 3 == 0)
{
if(board[mob[j].y][mob[j].x + 1].ch != 1 && board[mob[j].y][mob[j].x + 1].ch != 9)
{
mob[j].x++;
}
else if(board[mob[j].y + 1][mob[j].x].ch == 1 || board[mob[j].y + 1][mob[j].x].ch == 9)
{
mob[j].fallspeed = -3;
}
}
else if(rand() % 3 == 1)
{
if(board[mob[j].y][mob[j].x - 1].ch != 1 && board[mob[j].y][mob[j].x - 1].ch != 9)
{
mob[j].x--;
}
else if(board[mob[j].y + 1][mob[j].x].ch == 1 || board[mob[j].y + 1][mob[j].x].ch == 9)
{
mob[j].fallspeed = -3;
}
}
}
if(mob[j].hurt)
{
mob[j].color = 12;
}
}
return 0;
}
int print()
{
if(!mode)
{
color(8);
cout << "HP:";
color(12);
cout << health << endl;
for(int i = 0; i < health; i += 100)
{
cout << "◆";
}
color(7);
for(int i = health; i < lasthealth; i += 100)
{
cout << "◇";
}
cout << endl;
color(8);
cout << "AIR:";
color(11);
cout << breath << endl;
for(int i = 0; i < breath; i += 10)
{
cout << "●";
}
for(int i = breath; i < 91; i += 10)
{
cout << "○";
}
cout << endl;
color(8);
cout << "HUNGRY:";
color(14);
cout << hungry << endl;
for(int i = 0; i < hungry; i += 100)
{
cout << "§";
}
cout << endl;
}
for(int i = y - 7; i <= y + 7; i++)
{
for(int j = x - 7; j <= x + 7; j++)
{
bool ismob = false;
for(int k = 0; k < 100; k++)
{
if(mob[k].shap == "")
{
continue;
}
else if(mob[k].x == j && mob[k].y == i)
{
color(mob[k].color);
cout << mob[k].shap;
ismob = true;
break;
}
}
if(ismob)
{
continue;
}
if(i == y - 1 && j == x + face && attack)
{
color(4);
cout << "__";
}
else if(i == y - 1 && j == x + face && defense)
{
color(6);
cout << "┋";
}
else if(i == y && j == x + face && defense)
{
color(6);
cout << "┋";
}
else if(i == y && j == x)
{
if (KEY_DOWN('S'))
{
color(14);
if(hurt)
{
color(12);
}
cout << "()";
}
else
{
color(9);
if(hurt)
{
color(12);
}
cout << "∏";
}
}
else if(i == y - 1 && j == x)
{
if (!KEY_DOWN('S'))
{
color(14);
if(hurt)
{
color(12);
}
cout << "()";
}
else
{
color(board[i][j].color);
cout << block[board[i][j].ch];
}
}
else
{
if(i < 0 || i >= 100 || j < 0 || j >= 100)
{
cout << " ";
continue;
}
color(board[i][j].color);
cout << block[board[i][j].ch];
}
}
cout << endl;
}
color(7);
cout << "Y:";
color(6);
cout << 100 - y << endl;
color(7);
cout << "X:";
color(6);
cout << x << endl;
return 0;
}
int move()
{
if(board[y][x].ch == 5)
{
y += fallspeed;
return 0;
}
if(board[y][x].ch == 2)
{
if(fallspeed > 1)
{
fallspeed = 1;
}
}
else
{
for(int i = y - 1; i >= y + fallspeed; i--)
{
if(board[i - 1][x].ch == 1 || board[i - 1][x].ch == 9)
{
fallspeed = 0 - y + i + 1;
return 0;
}
}
}
for(int i = y + 1; i <= y + fallspeed; i++)
{
if(board[i][x].ch == 1 || board[i][x].ch == 9)
{
if(fallspeed >= 5 && board[i - 1][x].ch != 2)
{
health -= 50 * (fallspeed - 4);
if(fallspeed >= 7)
{
die = "落地过猛!";
}
else
{
die = "从高处摔了下来!";
}
hurt = true;
}
fallspeed = 0;
return 0;
}
}
y += fallspeed;
fallspeed += gravity;
return 0;
}
int bomb()
{
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == 0)
{
int atk = 0;
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 4)
{
atk = 50;
fallspeed = -1;
x += x - tnt[i].x;
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 3)
{
atk = 100;
fallspeed = -2;
x += x - tnt[i].x;
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 2)
{
atk = 300;
fallspeed = -4;
x += 2 * (x - tnt[i].x);
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 1)
{
atk = 500;
fallspeed = -7;
x += 5 * (x - tnt[i].x);
}
if(abs(x - tnt[i].x) + abs(y - tnt[i].y) == 0)
{
atk = 800;
fallspeed = -10;
}
tnt[i].time--;
health -= atk;
die = "被TNT炸死了";
if(atk > 0)
{
hurt = true;
}
setboard[tnt[i].y - 2][tnt[i].x].color = 7;
setboard[tnt[i].y - 1][tnt[i].x - 1].color = 7; setboard[tnt[i].y - 1][tnt[i].x].color = 0; setboard[tnt[i].y - 1][tnt[i].x + 1].color = 7;
setboard[tnt[i].y][tnt[i].x - 2].color = 7; setboard[tnt[i].y][tnt[i].x - 1].color = 0; setboard[tnt[i].y][tnt[i].x].color = 0; setboard[tnt[i].y][tnt[i].x + 1].color = 0; setboard[tnt[i].y][tnt[i].x + 2].color = 7;
setboard[tnt[i].y + 1][tnt[i].x - 1].color = 7; setboard[tnt[i].y + 1][tnt[i].x].color = 0; setboard[tnt[i].y + 1][tnt[i].x + 1].color = 7;
setboard[tnt[i].y + 2][tnt[i].x].color = 7;
setboard[tnt[i].y - 2][tnt[i].x].ch = 8;
setboard[tnt[i].y - 1][tnt[i].x - 1].ch = 8; setboard[tnt[i].y - 1][tnt[i].x].ch = 0; setboard[tnt[i].y - 1][tnt[i].x + 1].ch = 8;
setboard[tnt[i].y][tnt[i].x - 2].ch = 8; setboard[tnt[i].y][tnt[i].x - 1].ch = 0; setboard[tnt[i].y][tnt[i].x].ch = 0; setboard[tnt[i].y][tnt[i].x + 1].ch = 0; setboard[tnt[i].y][tnt[i].x + 2].ch = 8;
setboard[tnt[i].y + 1][tnt[i].x - 1].ch = 8; setboard[tnt[i].y + 1][tnt[i].x].ch = 0; setboard[tnt[i].y + 1][tnt[i].x + 1].ch = 8;
setboard[tnt[i].y + 2][tnt[i].x].ch = 8;
}
else if(tnt[i].time == -1)
{
setboard[tnt[i].y - 2][tnt[i].x].color = 0;
setboard[tnt[i].y - 1][tnt[i].x - 1].color = 0; setboard[tnt[i].y - 1][tnt[i].x].color = 0; setboard[tnt[i].y - 1][tnt[i].x + 1].color = 0;
setboard[tnt[i].y][tnt[i].x - 2].color = 0; setboard[tnt[i].y][tnt[i].x - 1].color = 0; setboard[tnt[i].y][tnt[i].x].color = 0; setboard[tnt[i].y][tnt[i].x + 1].color = 0; setboard[tnt[i].y][tnt[i].x + 2].color = 0;
setboard[tnt[i].y + 1][tnt[i].x - 1].color = 0; setboard[tnt[i].y + 1][tnt[i].x].color = 0; setboard[tnt[i].y + 1][tnt[i].x + 1].color = 0;
setboard[tnt[i].y + 2][tnt[i].x].color = 0;
setboard[tnt[i].y - 2][tnt[i].x].ch = 0;
setboard[tnt[i].y - 1][tnt[i].x - 1].ch = 0; setboard[tnt[i].y - 1][tnt[i].x].ch = 0; setboard[tnt[i].y - 1][tnt[i].x + 1].ch = 0;
setboard[tnt[i].y][tnt[i].x - 2].ch = 0; setboard[tnt[i].y][tnt[i].x - 1].ch = 0; setboard[tnt[i].y][tnt[i].x].ch = 0; setboard[tnt[i].y][tnt[i].x + 1].ch = 0; setboard[tnt[i].y][tnt[i].x + 2].ch = 0;
setboard[tnt[i].y + 1][tnt[i].x - 1].ch = 0; setboard[tnt[i].y + 1][tnt[i].x].ch = 0; setboard[tnt[i].y + 1][tnt[i].x + 1].ch = 0;
setboard[tnt[i].y + 2][tnt[i].x].ch = 0;
tnt[i].time--;
}
else if(tnt[i].time > 0)
{
tnt[i].time--;
if(tnt[i].time % 2 == 0)
{
setboard[tnt[i].y][tnt[i].x].color = 12;
}
else
{
setboard[tnt[i].y][tnt[i].x].color = 7;
}
}
}
return 0;
}
int check()
{
for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 100; j++)
{
if(board[i][j].ch == 2)
{
if(board[i + 1][j].ch == 0 )
{
setboard[i + 1][j].ch = 2;
setboard[i + 1][j].color = board[i][j].color;
}
else if(board[i + 1][j].ch == 4)
{
setboard[i + 1][j].ch = 1;
setboard[i + 1][j].color = 8;
}
else if(board[i + 1][j].ch == 1|| board[i + 1][j].ch == 8)
{
if(board[i][j + 1].ch == 0)
{
setboard[i][j + 1].ch = 2;
setboard[i][j + 1].color = board[i][j].color;
}
else if(board[i][j + 1].ch == 4)
{
setboard[i][j + 1].ch = 1;
setboard[i][j + 1].color = 8;
}
if(board[i][j - 1].ch == 0)
{
setboard[i][j - 1].ch = 2;
setboard[i][j - 1].color = board[i][j].color;
}
else if(board[i][j - 1].ch == 4)
{
setboard[i][j - 1].ch = 1;
setboard[i][j - 1].color = 8;
}
}
}
if(board[i][j].ch == 4)
{
if(board[i + 1][j].ch == 0)
{
setboard[i + 1][j].ch = 4;
setboard[i + 1][j].color = board[i][j].color;
}
else if(board[i + 1][j].ch == 2)
{
setboard[i + 1][j].ch = 1;
setboard[i + 1][j].color = 8;
}
else if(board[i + 1][j].ch == 1 || board[i + 1][j].ch == 8)
{
if(board[i][j + 1].ch == 0)
{
setboard[i][j + 1].ch = 4;
setboard[i][j + 1].color = board[i][j].color;
}
else if(board[i][j + 1].ch == 2)
{
setboard[i][j + 1].ch = 1;
setboard[i][j + 1].color = 8;
}
if(board[i][j - 1].ch == 0)
{
setboard[i][j - 1].ch = 4;
setboard[i][j - 1].color = board[i][j].color;
}
else if(board[i][j - 1].ch == 2)
{
setboard[i][j - 1].ch = 1;
setboard[i][j - 1].color = 8;
}
}
}
if(board[i][j].ch == 9)
{
if(board[i + 2][j].ch == 0 && board[i + 1][j].ch == 0 && i + 2 < 100)
{
setboard[i][j].ch = 0;
setboard[i][j].color = 0;
setboard[i + 2][j].ch = 9;
setboard[i + 2][j].color = board[i][j].color;
if(board[i][j].color == 8 && j == x && i + 2 == y)
{
health -= 600;
hurt = true;
die = "被压扁了";
}
}
else if(board[i + 1][j].ch == 0 && i + 1 < 100)
{
setboard[i][j].ch = 0;
setboard[i][j].color = 0;
setboard[i + 1][j].ch = 9;
setboard[i + 1][j].color = board[i][j].color;
if(board[i][j].color == 8 && j == x && i + 1 == y)
{
health -= 600;
hurt = true;
die = "被压扁了";
}
else if(board[i][j].color == 8 && j == x && i + 2 == y)
{
health -= 600;
hurt = true;
die = "被压扁了";
}
}
}
}
}
for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 100; j++)
{
board[i][j] = setboard[i][j];
}
}
}
int main()
{
srand((int)time(0));
for(int i = 0; i < 20; i++)
{
tnt[i].time = -2;
}
while(1)
{
system("cls");
if(mode)
{
hurt = false;
}
if(!mode)
{
move();
}
check();
bomb();
mobmove();
print();
Sleep(70);
hungry--;
hungry = max(hungry, 0);
if(hungry == 0)
{
die = "被饿死了";
hurt = true;
health -= 10;
}
if(mode)
{
health = 1000;
}
if(health <= 0)
{
Sleep(500);
system("cls");
color(12);
cout << " GAME OVER " << endl;
color(7);
cout << " STEVE " << die << endl;
Sleep(2000);
x = 15;
y = 90;
health = 1000;
fallspeed = 0;
}
health += hungry / 300;
if(health > 1000)
{
health = 1000;
}
if(attack)
{
attack = 0;
}
if(defense)
{
defense = 0;
}
if(hurt)
{
hurt = false;
lasthealth = health;
}
if(board[y][x].ch == 2)
{
fallspeed = 1;
if(KEY_DOWN('W'))
{
fallspeed = -1;
}
}
if(board[y - 1][x].ch == 2)
{
die = "被水淹死了!";
breath--;
}
else
{
breath++;
if(breath > 100)
{
breath = 100;
}
}
if(board[y][x].ch == 5)
{
fallspeed = 0;
if(KEY_DOWN('W'))
{
fallspeed = -1;
}
if(KEY_DOWN('S'))
{
fallspeed = 1;
}
}
if(board[y][x].ch == 4)
{
fallspeed = 1;
if(KEY_DOWN('W'))
{
fallspeed = -1;
}
die = "试图在岩浆里游泳!";
hurt = true;
health -= 100;
}
if (KEY_DOWN('W') && !KEY_DOWN('S'))
{
if(mode)
{
y--;
}
else
{
if(board[y][x].ch != 2 && board[y][x].ch != 5)
{
if(board[y + 1][x].ch == 1 || board[y + 1][x].ch == 9)
{
fallspeed = jumpspeed;
}
}
}
}
if (KEY_DOWN('A'))
{
if((board[y][x - 1].ch != 1 && board[y][x - 1].ch != 9) || mode)
{
if(KEY_DOWN('S') || board[y - 1][x - 1].ch != 1 || mode)
{
x -= 1;
}
}
face = -1;
}
if (KEY_DOWN('D'))
{
if((board[y][x + 1].ch != 1 && board[y][x + 1].ch != 9) || mode)
{
if(KEY_DOWN('S') || board[y - 1][x + 1].ch != 1 || mode)
{
x += 1;
}
}
face = 1;
}
if(KEY_DOWN('S'))
{
if(mode)
{
y++;
}
else
{
fallspeed += 1;
}
}
if(KEY_DOWN(' '))
{
attack = true;
}
if(KEY_DOWN('E'))
{
defense = true;
}
if(KEY_DOWN('C'))
{
hungry += 100;
hungry = min(hungry, 1000);
}
if(KEY_DOWN('Q'))
{
setboard[y][x].ch = 7;
for(int i = 0; i < 20; i++)
{
if(tnt[i].time == -2)
{
tnt[i] = {y, x, 10};
break;
}
}
}
if(KEY_DOWN('R'))
{
setboard[y][x].ch = 1;
setboard[y][x].color = 7;
}
if(KEY_DOWN('F'))
{
setboard[y + 1][x].ch = 1;
setboard[y + 1][x].color = 7;
}
if(KEY_DOWN('Z'))
{
setboard[y + 1][x].ch = 0;
setboard[y + 1][x].color = 0;
}
if(KEY_DOWN('X'))
{
setboard[y][x].ch = 3;
setboard[y][x].color = 12;
}
if(KEY_DOWN('3'))
{
setboard[y][x].ch = 9;
setboard[y][x].color = 14;
}
if(KEY_DOWN('4'))
{
setboard[y][x].ch = 9;
setboard[y][x].color = 8;
}
if(KEY_DOWN('1'))
{
setboard[y][x].ch = 2;
setboard[y][x].color = 9;
}
if(KEY_DOWN('2'))
{
setboard[y][x].ch = 4;
setboard[y][x].color = 12;
}
if(KEY_DOWN('V'))
{
setboard[y][x].ch = 6;
setboard[y][x].color = 10;
}
if(KEY_DOWN('T'))
{
system("cls");
cout << "请输入指令:" << endl;
string a;
cin >> a;
if(a == "kill")
{
die = "失败了。";
hurt = true;
health = 0;
}
if(a == "full_health")
{
health = 1000;
}
if(a == "creativemode")
{
mode = !mode;
}
if(a == "move")
{
cin >> y >> x;
y = 100 - y;
}
if(a == "summom")
{
int a;
cin >> a;
for(int i = 0; i < 100; i++)
{
if(mob[i].shap == "")
{
mob[i] = mobs[a];
mob[i].x = x;
mob[i].y = y;
break;
}
}
}
}
if(KEY_DOWN('O'))
{
for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 100; j++)
{
setboard[i][j] = {0,0};
}
}
}
if(y > 100)
{
die = "掉出了这个世界!";
hurt = true;
health -= 200;
}
if(breath <= 0)
{
breath = 0;
hurt = true;
health -= 10;
}
if(!KEY_DOWN('S') && (board[y - 1][x].ch == 1 || board[y - 1][x].ch == 9))
{
die = "在墙里窒息死亡!";
hurt = true;
health -= 50;
}
if(board[y + 1][x].ch == 1 && board[y + 1][x].color == 4)
{
hurt = true;
die = "发现了地板是熔岩做的。";
health -= 30;
}
if(board[y][x].ch == 6)
{
fallspeed = -6;
}
}
return 0;
}