#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
void move();
int map[9][9]={
{1,1,1,1,1,0,0,0,0},
{1,5,0,0,1,0,0,0,0},
{1,0,4,4,1,0,1,1,1},
{1,0,4,0,1,0,1,3,1},
{1,1,1,0,1,1,1,3,1},
{0,1,1,0,0,0,0,3,1},
{0,1,0,0,0,1,0,0,1},
{0,1,0,0,0,1,1,1,1},
{0,1,1,1,1,1,0,0,0},
};
void mapp();
int main()
{
mapp();
move();
return 0;
}
void mapp()//0 空格 1 墙 3 目的地 4 箱子 5 人
{
int i,j;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
switch(map[i][j])
{
case 0:
printf(" ");break;
case 1:
printf("■");break;
case 3:
printf("×");break;
case 4:
printf("卍");break;
case 5:
printf("♀");break;
}
}
printf("\n");
}
}
void move()
{
int m,n;
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(map[i][j]==5||map[i][j]==8)
{
m=i;
n=j;
}
while(1)
{
getch();getch();
switch(getch())
{
case 72:
case 'W':
case 'w':
if(map[m-1][n]==0||map[m-1][n]==3)
{
map[m][n]-=5;
map[m-1][n]+=5;
}
else if(map[m-1][n]==4)
{
if (map[m-2][n]==0||map[m-2][n]==3)
{ map[m][n]-=5;
map[m-1][n]+=1;
map[m-2][n]+=4;}
}
break;
case 'D':
case 'd':
if(map[m][n+1]==0||map[m][n+1]==3)
{
map[m][n]-=5;
map[m][n+1]+=5;
}
else if(map[m][n+1]==4)
{if (map[m][n+2]==0||map[m][n+2]==3)
{
map[m][n]-=5;
map[m][n+1]+=1;
map[m][n+2]+=4;
}}
break;
case 'A':
case 'a':
if(map[m][n-1]==0||map[m][n-1]==3)
{
map[m][n]-=5;
map[m][n-1]+=5;
}
else if(map[m][n-1]==4)
{if (map[m][n+2]==0||map[m][n-2]==3)
{
map[m][n]-=5;
map[m][n-1]+=1;
map[m][n-2]+=4;
}}
break;
case 80:
case 'S':
case 's':
if(map[m+1][n]==0||map[m+1][n]==3)
{
map[m][n]-=5;
map[m+1][n]+=5;
}
else if(map[m+1][n]==4)
{if (map[m+2][n]==0||map[m+2][n]==3)
{
map[m][n]-=5;
map[m][n+1]+=1;
map[m][n+2]+=4;
}}
break;
system("cls");
}
}
}
}
}这个程序按键小人动不了怎么改啊,新人求大神指教