#include
#include
int i,j,steps = 0,gk = 1;
char command,t,m = 0,n = 0;
int map_1[8][11],map[8][11] = {
{0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,0,0,0,0,0,0,0},
{1,0,0,1,1,1,1,1,0,0,0},
{1,0,0,6,0,0,4,1,0,0,0},
{1,3,0,2,0,0,4,1,0,0,0},
{1,0,0,1,1,1,1,1,0,0,0},
{1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0}
};
int map_2[8][11] = {
{0,0,0,1,1,1,1,0,0,0,0},
{0,0,0,1,4,0,1,0,0,0,0},
{1,1,1,1,0,0,1,1,0,0,0},
{1,0,0,0,3,2,0,1,0,0,0},
{1,0,1,1,0,0,0,1,0,0,0},
{1,0,6,0,0,0,0,1,1,0,0},
{1,1,1,1,0,0,0,4,1,0,0},
{0,0,0,1,1,1,1,1,1,0,0}
};
int map_3[8][11] = {
{0,0,0,1,1,1,1,0,0,0,0},
{0,0,0,1,4,4,1,0,0,0,0},
{1,1,1,1,0,0,1,1,0,0,0},
{1,0,0,0,0,0,0,1,0,0,0},
{1,0,0,0,0,0,0,1,1,0,0},
{1,1,1,0,1,6,2,0,1,0,0},
{0,0,1,0,0,3,0,0,1,0,0},
{0,0,1,1,1,1,1,1,1,0,0}
};
typedef struct position{
int x;
int y;
}location;
location agg[3];
//全部通过
void clearance()
{
if(map[agg[1].x][agg[1].y] == 5&&map[agg[2].x + n][agg[2].y + m] == 5&&gk == 3)
{
printf("你赢了!\n");
system("pause");
exit(0);
}
}
//判断是否通过
void control_adopt()
{
if(map[agg[1].x][agg[1].y] == 5&&map[agg[2].x + n][agg[2].y + m] == 5)
{
if(gk != 3)
{
for(i = 0;i < 8;i++)
for(j = 0;j < 11;j++)
{
map[i][j] = map_2[i][j];
map_2[i][j] = map_3[i][j];
map_1[i][j] = map[i][j];
}
gk++;
}
steps = 0;
}
}
//重新开始
void control_reset(char reset_1)
{
if(reset_1 == 'f')
{
for(i = 0;i < 8;i++)
for(j = 0;j < 11;j++)
map[i][j] = map_1[i][j];
steps = 0;
}
}
//结束
void control_end(char end_0)
{
if(end_0 == 't')
exit(0);
}
//控制方向 + 箱子堵住陷阱
void control_direction(char direction_)
{
if(direction_ == 'd'||direction_ == 'w'||direction_ == 'a'||direction_ == 's')
{
if(direction_ == 'd')
m = 1;
if(direction_ == 'a')
m = -1;
if(direction_ == 'w')
n = -1;
if(direction_