#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
char f;
string dt[7][6]{
{
{"##############"},
{"# #"},
{"# #### #"},
{"# #####"},
{"##########"}
},
{
{"##############"},
{"# # #"},
{"# # ###"},
{"# # #"},
{"##############"}
},
{
{"##############"},
{"# # #"},
{"# #"},
{"# # #"},
{"##############"}
},
{
{"###############"},
{"# #"},
{"# ###########"},
{"# # "},
{"##### "}
},
{
{"###############"},
{"# #"},
{"### # ### #"},
{"# # # #"},
{"##### ######"},
{" ###### "}
},
{
{" #### "},
{" # # "},
{" #### ##### "},
{" # # "},
{" # # "},
{" #############"}
},
{
{"###############"},
{"# # #"},
{"# # # # #"},
{"# # #"},
{"# #"},
{"###############"}
}
};
int main(){
for(int g=0;g<7;g++){
int x,y,xx=2,yy=10,kx1=3,ky1=2;
bool t1,top=0;
bool u=0,u2;
x=3;
y=1;
if(g==1){
x=3;
y=2;
xx=2;
yy=3;
kx1=3;
ky1=12;
}
if(g==2){
kx1=1;
ky1=5;
}
if(g==3){
x=1;
y=13;
xx-=1;
yy=1;
}
if(g==4){
x-=2;
xx-=1;
kx1=3;
ky1=10;
top=1;
}
if(g==5){
y+=3;
xx+=1;
}
if(g==6){
top=1;
x=2;
y=7;
xx=2;
yy=11;
kx1=1;
ky1=5;
}
for(;;){
system("cls");
if(g==3){
cout<<"4.仔细看代码"<<endl;
}
else cout<<g+1<<"."<<endl;
cout<<"h键重来,空格跳关"<<endl;
for(int i=0;i<6;i++){
for(int j=0;j<17;j++){
if(i==x&&y==j)cout<<'A';
else if(i==xx&&j==yy)cout<<'@';
else if(i==kx1&&j==ky1)cout<<'0';
else cout<<dt[g][i][j];
}
cout<<endl;
}
f=getch();
if(f=='w'){
if(dt[g][x-1][y]=='#')continue;
if(top){
x--;
xx--;
}
else {
x-=1;
if(x==xx&&y==yy)xx-=1;
if(dt[g][xx][yy]=='#'){
xx+=1;
x+=1;
}
}
}
if(f=='s'){
if(dt[g][x+1][y]=='#')continue;
if(top){
x++;
xx++;
}
else {
x+=1;}
if(x==xx&&y==yy)xx+=1;
if(dt[g][xx][yy]=='#'){
xx-=1;
x-=1;
}
}
if(f=='a'){
if(dt[g][x][y-1]=='#'){
if(g==2&&x==2&&y==1){
y+=12;
}
else continue;
}
if(top){
y--;
yy--;
}
else y-=1;
if(x==xx&&y==yy)yy-=1;
if(dt[g][xx][yy]=='#'){
yy+=1;
y+=1;
}
}
if(f=='d'){
if(dt[g][x][y+1]=='#')continue;
if(top){
y++;
yy++;
}
else {
y+=1; }
if(x==xx&&y==yy)yy+=1;
if(dt[g][xx][yy]=='#'){
yy-=1;
y-=1;
if(g==2){
if(xx==2&&yy==12){
y-=10;
yy-=10;
}
}
}
}
if(f=='e'){
if(top==0)top=1;
else if(g!=4&&g!=6){
top=0;
}
}
if(f=='h'){
u=1;
break;
}
if(f==' '){
u2=1;
break;
}
if(kx1==xx&&ky1==yy){
system("cls");
cout<<"you win!";
Sleep(1000);
break;
}
}
if(u==1)g-=1;
}
return 0;
}
第4关绝对没人过(W:上、 S:下、 A :左、D:右)