#include<bits/stdc++.h>
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
using namespace std;
void Slow(const char *p) {while(1){if(*p!=0) printf("%c",*p++);else break;if(!kbhit()) Sleep(40);}}void SlowX(const char *p) {while(1){if(*p!=0) printf("%c",*p++);else break;Sleep(40);}}
void Color(int a){if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==-1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED);if(a==-2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_GREEN);if(a==-3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_BLUE);if(a==-4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED);if(a==-5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_GREEN);if(a==-6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_BLUE);if(a==-7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_RED|BACKGROUND_GREEN|BACKGROUND_BLUE);}
void Setpos(int x,int y){COORD pos;pos.X=x*2+1,pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}
void Put_Frame(int x,int xx,int y,int yy){Color(7);for(int i=x;i<=xx+1;i++)for(int j=y;j<=yy+1;j++){Setpos(i,j);if((j==y||j==yy+1)&&(i==x||i==xx+1)) printf("++");else if(j==y||j==yy+1)printf("==");else if(i==x||i==xx+1) printf("||");}}
int X,Y;int Left,Right,Up,Down;
int Clocknum,sy,T,up,dn,lf,rt,stick;int Sun;
char m[40][40][100001],XY[2][100001];void Print();
void ChangeSun(){for(int j=1;j<=Down;j++) for(int i=1;i<=Right;i++){if(m[i][j][T]=='r') m[i][j][T]='Y';else if(m[i][j][T]=='Y') m[i][j][T]='r';}
if(Sun==0) return;Sun=0;Setpos(X,Y);printf("我");Setpos(1,Down+4); printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("天地异变,日月混沌交错。。。。。。。");Setpos(1,Down+6);SlowX("。。。。。。去凑出“闭关”“酒馆”“阳人”可以爆出提示!");Sun=0;
}int OS;
void OfficialSpeak(){if(OS==1) return;OS=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("对于《文字游戏》的评测工作,请各位玩家务必高度重视");Setpos(1,Down+5);SlowX(",广泛宣传动员,营造良好氛围;全面贯彻落实,确保取");Setpos(1,Down+6);SlowX("得实效;完善制度机制,促进长效发展。望周知!(bushi");
}int AGq;
void StrengthenBase(){if(AGq==1) return;AGq=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("强基计划!你是万千高考考砸了的考生的梦!为什么我的");Setpos(1,Down+5);SlowX("的眼中饱含泪水?因为tmd你的名额也太少了吧!!!! ");Setpos(1,Down+6);printf("。。。。。。去凑出“母鸡”“金叶”“人马”可以爆出提示!");
}int AGw;
void SB(){if(AGw==1) return;AGw=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("哒哒哒哒!一只名为Crab_Dave的小螃蟹炸裂复活!!他");Setpos(1,Down+5);SlowX("使用了装逼之术吸引来了大量的雷电!!!。。。。。。");Setpos(1,Down+6);SlowX("不卖关子了,他被雷劈了,over。【真结局 4 完成】 ");
}int AGe;
void TS(){if(AGe==1) return;AGe=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("【真结局 2 完成】你心里有我,太感动了!!!这样");Setpos(1,Down+5); SlowX(",胎神大大奖励你点词组彩蛋吧!你可以组词“毕导”“");Setpos(1,Down+6); SlowX("商管”“西施”“石油”“优势”“图集”“王冠”哦!");
}int AGr;
void InterGame(){if(AGr==1) return;AGr=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("如你所愿!!启动!!!!!");system("start https://www.4399.com/");
}int AGa;
void Chick(){if(AGa==1) return;AGa=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("咯咯咯咯,咯咯咯咯,咯咯咯咯咯咯哒!!");Setpos(1,Down+6);SlowX("。。。。。。。。。。。。。。。“啸愁”是一个结局");
}int AGs;
void KingWater(){if(AGs==1) return;AGs=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("【真结局 5 完成】 漂亮!!完美的化学合成方程式!!");Setpos(1,Down+5);SlowX("您真是个化学天才!!李比希开始为你的创意鼓掌!! ");Setpos(1,Down+6);SlowX("没有一点点脑洞(can)怎么会想出来这个结局啊哈哈哈噗 ");
}int AGd;
void GrowUp(){if(AGd==1) return;AGd=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("《你长大了。》胎神用怜悯与不可描述的眼神看着你");Setpos(1,Down+6);SlowX("。。。。。。。。。。。。。。。“月台”是一个结局");
}int AGf;
void NoHorse(){if(AGf==1) return;AGf=1;Setpos(X,Y);printf("我");
Color(4);
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("【彩蛋】你的马没了,over。");Color(0); Setpos(1,Down+6);SlowX("。。。。。。。。。。。去 刀“商人”,可以爆出“金钱”");
}int AGz;
void ShutDown(){if(AGz==1) return;AGz=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("【真结局 1完成】既然来了非正经,就要做好被“那个”");Setpos(1,Down+5);SlowX("的觉悟!!准备受死吧!!!");system("shutdown /s");
}int AGx;
void XiaoChou(){if(AGx==1) return;AGx=1;Setpos(X,Y);printf("我"); system("cls");Setpos(6,2), SlowX("【真结局 3 完成】奖励优美散文诗一首~~~~");Setpos(4,4), SlowX(" 啸 愁 ");Setpos(4,6), SlowX(" 净 天 白 坊 马 戏 湍 踏 门 正 浩 载 巅 岷 ");Setpos(4,8), SlowX(" 师 资 老 户 齐 达 道 寒 岛 小 畴 梅 任 阴 ");Setpos(4,10), SlowX(" 大 驾 权 斗 堪 相 握 徒 然 绝 德 部 队 近 ");Setpos(4,12), SlowX(" 湍 涨 潇 潇 不 说 哗 啸 愁 尽 失 卧 知 己!!!!! ");
Sleep(5000);system("cls");
Put_Frame(0,Right,0,Down);Put_Frame(0,Right,Down+3,Down+6);Print();
}int AGc;
void Internet(){if(AGc==1) return;AGc=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("这么想上网,那就上网冲刺罢。(叹气)");system("start https://www.bilibili.com/");
}int AGv;
void Close(){if(AGv==1) return;AGv=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("嘤嘤嘤,既然你那么想关闭,那就关闭吧,呜呜呜呜呜呜");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");system("shutdown /s");
}int AGt;
void CloseUs(){if(AGt==1) return;AGt=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("怎么,你要自律了?还闭关?这样,我们先从戒电脑开始");Setpos(1,Down+5);printf("罢!!!");Setpos(1,Down+6);SlowX("。。。。。。。。。。。。。。。。。“棺鸡”是一个结局");
}int AGy;
void Bar(){if(AGy==1) return;AGy=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("在酒吧里可没有什么线索哦,你要找酒鬼爆装备啊喂。。");Setpos(1,Down+6);SlowX("。。。。。单独去 刀“酒鬼”,可以爆出“愁”“马”");
}int AGu;
void MudWood(){if(AGu==1) return;AGu=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("你居然会喜欢土木工程?这个游戏里沙子更有用哦~~");Setpos(1,Down+6);SlowX("。。。。。。。。单独去 刀“人”,可以爆出“杀”字");
}int AGi;
void SunPeople(){if(AGi==1) return;AGi=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("什么?你阳了?大哥,这是2024年!!!");Setpos(1,Down+6);SlowX("。。。。。。。。去调“机”“关”,可以爆出“月”字");
}int AGg;
void HorsePeople(){if(AGg==1) return;AGg=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("人马好帅!会跑会射箭!要是分开来刀就更帅了!!");Setpos(1,Down+6);SlowX("。。。。。。。。单独去 刀“马”,可以爆出“啸”字");
}int AG2;
void WaterMan(){if(AG2==1) return;AG2=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("是的,站在你面前的程序的作者是一位真正的水人,不仅");Setpos(1,Down+5);SlowX("人够水,连做出来的程序都是水的彻底!");Setpos(1,Down+6);SlowX("。。。。。。。。。。。。。。。。“沙壁”是一个结局");
}int GWS;
void GuiWuShi(){if(GWS==1)return;GWS=1;Setpos(X,Y);printf("我"); Color(4);
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("鬼舞辻无惨为你的行为点了个赞。");Color(0);Setpos(1,Down+6);SlowX("。。。。。。。。。去 刀“渔夫”,可以爆出“王”字");
}int AGh;
void AhGhost(){if(AGh==1) return;AGh=1;Setpos(X,Y);printf("我"); Color(4);
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊有鬼啊啊啊啊");Setpos(1,Down+5);SlowX("啊啊啊啊啊啊啊啊啊啊啊有鬼啊啊啊啊啊啊啊啊啊啊啊啊");Setpos(1,Down+6);SlowX("。。。。(不是,你才发现吗???)");Color(0);
}int AGj;
void Kill(){if(AGj==1) return;AGj=1;Setpos(X,Y);printf("我");
Color(4);
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("萨日朗!!!!!萨日朗!!!!!");Color(0);Setpos(1,Down+6);SlowX("。。。。。。。。。去 “上网”“网游”,会有彩蛋哦~~");
}int AGk;
void Die(){if(AGk==1) return;AGk=1;Setpos(X,Y);printf("我");
Color(4);Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("见过想死的,但没见过以为真要这样做才能到结局的!");Color(0);Setpos(1,Down+6);printf("。。。。。。。。。。。。。。。。“王水”是一个结局");
} int AGl;
void Help(){if(AGl==1) return;AGl=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");Setpos(1,Down+4);SlowX("害,那我就勉为其难地救济一下你吧。。");Setpos(1,Down+5);SlowX("首先,“开”“始”“游”三个字都是有用的!");Setpos(1,Down+6);SlowX("。。。。。。去凑出“始鬼”“水人”“土木”可以爆出提示!");
} int AGb;
void Shop(){if(AGb==1) return;AGb=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("什么??你要去学商管?你不是程序员吗??");Setpos(1,Down+6);SlowX("。。。。。。。。。。去 “强基”“刀马”,会有彩蛋哦~~");
}int AGn;
void Gun(){if(AGn==1) return;AGn=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("太炫酷了!!!完美的三字组合!!!你就是掌管组词的");Setpos(1,Down+5);SlowX("神明吗???!");Setpos(1,Down+6);SlowX("。。。。。还有一个三字组合 “游戏机”,会有彩蛋哦~~");
}int AGm;
void TSzza(){if(AGm==1) return;AGm=1;Setpos(X,Y);printf("我");
Setpos(1,Down+4);printf(" ");Setpos(1,Down+5);printf(" ");Setpos(1,Down+6);printf(" ");
Setpos(1,Down+4);SlowX("官游没有,官方网站倒是有一个。。。。。。。。。。。");Setpos(1,Down+5);SlowX("胎神游戏集!!启动!!!!!");system("start https://www.luogu.com.cn/user/92860#article");
}
void Print(){
for(int j=1;j<=Down;j++) for(int i=1;i<=Right;i++){
char here=m[i][j][T],next=m[i+1][j][T],next2=m[i+2][j][T],next3=m[i+3][j][T];
Setpos(i,j);
if(here=='b'){if(next=='g') printf("闭关"),i++,CloseUs(); else if(next=='d') printf("毕导"),i++;else if(next=='S') printf("碧水"),i++;else if(next=='h') printf("碧海"),i++; else printf("壁");}
if(here=='c'){if(next=='M') printf("筹码"),i++; else printf("愁");}
if(here=='d'){if(next=='M') printf("刀啸"),m[i+1][j][T]='X',NoHorse(),i++;else if(next=='j') printf("刀啸"),m[i+1][j][T]='X',i++;else if(next=='R') printf("刀杀"),m[i+1][j][T]='@',Kill(),i++;else if(next=='@') printf("刀杀"),i++;else if(next=='b') printf("刀币"),i++;else if(next=='%'&&next2=='f') m[i+1][j][T]='%',m[i+2][j][T]='w';else if(next=='!'&&next2=='G') printf("刀筹码"),m[i+1][j][T]='c',m[i+2][j][T]='M',i+=2;else if(next=='$'&&next2=='R') m[i+1][j][T]='J',m[i+2][j][T]='Q',printf("刀金钱"),i+=2;else printf("刀");}//金钱
if(here=='f'){printf("夫");}
if(here=='g'){if(next=='j') printf("关机"),ShutDown(),i++;else if(next=='y') printf("官游"),i++,TSzza();else if(next=='!') printf("灌酒"),i++;else if(next=='b') printf("关闭"),i++,Close();else if(next=='q') printf("官腔"),i++,OfficialSpeak(); else printf("棺");}
if(here=='G'){if(next=='d') printf("鬼岛"),i++;else if(next=='j') printf("诡计"),i++;else printf("鬼");}
if(here=='h'){if(next=='T') printf("海苔"),i++;else if(next=='d') printf("海岛"),i++;else printf("海");}
if(here=='j'){if(next=='g'&&next2=='q') printf("机关枪"),Gun(),i+=2;else if(next=='%') printf("鲫鱼"),i++;else if(next=='!') printf("急救"),Help(),i++;else if(next=='f') printf("肌肤"),i++;else if(next=='b') printf("击毙"),Die(),i++;else if(next=='@') printf("击杀"),i++;else if(next=='m') printf("积木"),i++;else if(next=='!') printf("祭酒"),i++;else if(next=='s') printf("鸡**"),i++;else if(next=='#') printf("积液"),i++;else if(next=='S') printf("积水"),i++;else if(next=='q') printf("机枪"),i++;else if(next=='g') printf("机关"),i++,ChangeSun();else printf("鸡");}
if(here=='J'){if(next=='#') printf("**液"),GrowUp(),i++;else if(next=='b') printf("金币"),i++;else printf("金");}
if(here=='k'){if(next=='g') m[i][j][T]=0,m[i+1][j][T]='G';else if(next=='s') printf("开始"),i++;else printf("开");}
if(here=='l'){printf("了");}
if(here=='m'){if(next=='j') printf("母鸡"),i++,Chick(); else if(next=='d') printf("木刀"),i++; else printf("木");}
if(here=='M'){if(next=='M') printf("马人"),i++;else if(next=='b') printf("****"),GrowUp(),i++;else printf("马");}
if(here=='q'){if(next=='j') printf("强基"),i++,StrengthenBase(); else if(next=='@') printf("枪杀"),i++; else if(next=='b') printf("枪毙"),Die(),i++;else printf("墙");}
if(here=='Q'){printf("钱");}
if(here=='r'){if(next=='!') printf("样酒"),i++;else if(next=='R') printf("阳人"),SunPeople(),i++; else printf("阳");}
if(here=='R'){if(next=='M') printf("人马"),HorsePeople(),i++;else printf("人");}
if(here=='s'){if(next=='G') printf("始鬼"),GuiWuShi(),i++;else if(next=='y') printf("石油"),i++;else if(next=='j') printf("时机"),i++;else if(next=='!') printf("十九"),i++;else if(next=='w') printf("死亡"),Die(),i++;else if(next=='l') printf("死了"),i++;else printf("始");}
if(here=='S'){if(next=='S'&&next2=='S') printf("非常水"),i+=2;else if(next=='#') printf("水爷"),i++;else if(next=='R') printf("水人"),WaterMan(),i++;else if(next=='q') printf("水枪"),i++;else if(next=='S') printf("很水"),i++;else printf("水");}
if(here=='t'){if(next=='f') printf("屠夫"),i++;else if(next=='j') printf("图集"),i++;else if(next=='m') printf("土木"),MudWood(),i++; else printf("土");}
if(here=='T'){printf("台");}
if(here=='w'){if(next=='y') printf("网游"),i++,InterGame();else if(next=='#') printf("王爷"),i++;else if(next=='g') printf("王冠"),i++;else if(next=='S') printf("王水"),KingWater(),i++;else printf("王");}
if(here=='x'){if(next=='J') printf("戏精"),i++,OfficialSpeak();else if(next=='s') printf("西施"),i++;else if(next=='M') printf("戏码"),i++;else printf("戏");}
if(here=='X'){if(next=='c') printf("啸愁"),XiaoChou(),i++;else if(next=='x') printf("消息"),i++;else if(next=='w') printf("小王"),i++;else printf("啸");}
if(here=='y'){if(next=='x'&&next2=='j') printf("游戏机"),InterGame(),i+=2;else if(next=='s') printf("优势"),i++;else if(next=='!') printf("悠久"),i++;else if(next=='G') printf("有鬼"),AhGhost(),i++;else if(next=='j') printf("游击"),i++;else if(next=='%') printf("鱿鱼"),i++;else if(next=='S') printf("油水"),i++;else printf("游");}
if(here=='Y'){if(next=='T') printf("胎!"),i++,TS(); else printf("月");}
if(here=='!'){if(next=='g') printf("酒馆"),i++,Bar(); else if(next=='#') printf("就业"),i++;else if(next=='s') printf("九十"),i++; else if(next=='j') printf("救急"),i++,Help(); else if(next=='q') printf("九强"),i++;else if(next=='Q') printf("酒钱"),i++; else printf("酒");}
if(here=='@'){if(next=='b') printf("煞笔"),i++,SB(); else printf("沙");}
if(here=='#'){if(next=='y') printf("夜游"),i++; else printf("叶");}
if(here=='$'){if(next=='w') printf("上网"),Internet(),i++;else if(next=='s') printf("上市"),i++;else if(next=='j') printf("商机"),i++;else if(next=='g') printf("商管"),i++,Shop();else if(next=='!') printf("上酒"),i++;else printf("商");}
if(here=='%'){if(next=='f') printf("渔夫"),i++;else if(next=='S') printf("雨水"),i++;else if(next=='w') printf("渔网"),i++;else printf("鱼");}
}
Setpos(X,Y);printf("我");
}
void Move(){
}
void Go(){
if(lf==1){int xx=X,Gap=0;
while(xx>Left&&Gap==0) {xx--;if(m[xx][Y][T]==0) Gap=1;}
if(Gap==1) {T++;
for(int i=Left;i<=Right;i++)for(int j=Up;j<=Down;j++) m[i][j][T]=m[i][j][T-1];
for(int i=xx;i<X;i++) m[i][Y][T]=m[i+1][Y][T-1];
if(stick==1&&X!=Right) m[X][Y][T]=m[X+1][Y][T-1],m[X+1][Y][T]=0,Setpos(X+1,Y),printf(" ");else m[X][Y][T]=0;Setpos(X,Y),printf(" "); X--;XY[0][T]=X,XY[1][T]=Y;}
}
if(rt==1){int xx=X,Gap=0;
while(xx<Right&&Gap==0) {xx++;if(m[xx][Y][T]==0) Gap=1;}
if(Gap==1) {T++;
for(int i=Left;i<=Right;i++)for(int j=Up;j<=Down;j++) m[i][j][T]=m[i][j][T-1];
for(int i=X+1;i<=xx;i++) m[i][Y][T]=m[i-1][Y][T-1];
if(stick==1&&X!=Left) m[X][Y][T]=m[X-1][Y][T-1],m[X-1][Y][T]=0,Setpos(X-1,Y),printf(" ");else m[X][Y][T]=0;Setpos(X,Y),printf(" "); X++;XY[0][T]=X,XY[1][T]=Y;}
}
if(up==1){int yy=Y,Gap=0;
while(yy>Up&&Gap==0) {yy--;if(m[X][yy][T]==0) Gap=1;}
if(Gap==1) {T++;
for(int i=Left;i<=Right;i++)for(int j=Up;j<=Down;j++) m[i][j][T]=m[i][j][T-1];
for(int i=yy;i<Y;i++) m[X][i][T]=m[X][i+1][T-1];
if(stick==1&&Y!=Down) m[X][Y][T]=m[X][Y+1][T-1],m[X][Y+1][T]=0,Setpos(X,Y+1),printf(" ");else m[X][Y][T]=0;Setpos(X,Y),printf(" "); Y--;XY[0][T]=X,XY[1][T]=Y;}
}
if(dn==1){int yy=Y,Gap=0;
while(yy<Down&&Gap==0) {yy++;if(m[X][yy][T]==0) Gap=1;}
if(Gap==1) {T++;
for(int i=Left;i<=Right;i++)for(int j=Up;j<=Down;j++) m[i][j][T]=m[i][j][T-1];
for(int i=Y+1;i<=yy;i++) m[X][i][T]=m[X][i-1][T-1];
if(stick==1&&Y!=Up) m[X][Y][T]=m[X][Y-1][T-1],m[X][Y-1][T]=0,Setpos(X,Y-1),printf(" ");else m[X][Y][T]=0;Setpos(X,Y),printf(" "); Y++;XY[0][T]=X,XY[1][T]=Y;}
}
}
void Reverse(){
T=max(1,T-1);Setpos(X,Y),printf(" ");X=XY[0][T],Y=XY[1][T];
Print();
for(int j=1;j<=Down;j++) for(int i=1;i<=Right;i++){
if(m[i][j][T]==0&&m[i][j][T+1]!=0) Setpos(i,j),printf(" ");
}
Setpos(X,Y);printf("我");
}
void Start(){
Left=1,Right=23,Up=1,Down=15;
Put_Frame(0,Right,0,Down);
Put_Frame(0,Right+2,Down+3,Down+6);
T=1;XY[0][1]=8,XY[1][1]=4;
X=8,Y=4;m[X+1][Y][T]='k';m[X+2][Y][T]='s';m[X+3][Y][T]='l';m[X+4][Y][T]='y';m[X+5][Y][T]='x';
for(int i=1;i<=7;i++) m[i][Down][T]=m[i][Down-1][T]='S';for(int i=1;i<=5;i++) m[i][Down-2][T]='S';
m[1][Down][T]='h';m[2][Down][T]='d';m[1][Down-1][T]='T';
for(int j=10;j<=15;j++) m[20][j][T]='q';for(int j=13;j<=15;j++) m[21][j][T]='q';m[20][10][T]='b';
m[20][6][T]='$';m[22][6][T]='R';m[20][8][T]='%';m[22][8][T]='f';
int Treex=11;
for(int i=Treex-2;i<=Treex+2;i++) m[i][Down-1][T]=m[i][Down-2][T]='#';for(int i=Treex-1;i<=Treex+1;i++) m[i][Down-3][T]='#';
m[Treex][Down][T]=m[Treex][Down-1][T]=m[Treex][Down-2][T]='m';m[Treex+4][Down][T]='t';
m[Right-2][Up+2][T]='r';Sun=1;
m[X-1][Y+4][T]='!';m[X+2][Y+4][T]='g';m[X+5][Y+4][T]='j';
Print();
Setpos(1,Down+4);Slow(" WSAD 移动,按住SHIFT键进行“拉”操作,R键可撤回上步");
Setpos(1,Down+5);Slow("不要拼音输入,尝试推动组合不同的字来达成结局(5个)!");
Setpos(1,Down+6);Slow("(先去拿岛!再刀人,拿装备!鬼在棺里,人在商后!)");
Setpos(1,Down+8);Slow("警告:所有的非正经游戏内都内置有关机代码,注意小心保存好文件!!");
}
int main()
{
CONSOLE_CURSOR_INFO cursor_info={1,0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
srand((unsigned)time(NULL));
Start();
while(1)
{
up=dn=lf=rt=stick=0;
char g=_getch();
if(g=='w'||g=='W') up=1;
if(g=='s'||g=='S') dn=1;
if(g=='a'||g=='A') lf=1;
if(g=='d'||g=='D') rt=1;
if(GetAsyncKeyState(VK_SHIFT)&0x8000) stick=1;
if(g=='r'||g=='R') Reverse();
else if(up+dn+lf+rt!=0) Go(),Move(),Print();
}
return 0;
}