202103Clyde • 2年前
using namespace std; char pr[10]= {1,' ','E','O'} ; int level,n,m,map[50][50],i,j,x,y,k,ex,ey; char c[1001]; int main() {
system("cls");
puts("if you no full screen,please press full screen");
getch();
system("cls");
puts("please choose level");
again:
;
cin>>level;
if(level>1||level<1) {
puts("haven't this level");
goto again;
}
puts("loading...");
sprintf(c,"%d.map",level);
freopen(c,"r",stdin);
cin>>n>>m;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
cin>>map[i][j];
fclose(stdin);
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(map[i][j]==3) {
x=i;
y=j;
} else if(map[i][j]==2) {
ex=i;
ey=j;
}
while(x!=ex&&y!=ey) {
system("cls");
for(i=1; i<=n; i++,putchar('\n'))
for(j=1; j<=m; j++)
putchar(pr[map[i][j]]);
k=getch();
if(k=='w')
if(map[x-1][y]&&(x-1)) {
map[x-1][y]=3;
map[x][y]=1;
x--;
}
if(k=='s')
if(map[x+1][y]&&(x+1)<=n) {
map[x+1][y]=3;
map[x][y]=1;
x++;
}
if(k=='a')
if(map[x][y-1]&&(y-1)) {
map[x][y-1]=3;
map[x][y]=1;
y--;
}
if(k=='d')
if(map[x][y+1]&&(y+1)<=m) {
map[x][y+1]=3;
map[x][y]=1;
y++;
}
}
system("cls");
return 0;
}
评论:
@邱 “对map的定义是含糊的” map是此程序的变量名,也是一种数据结构 编译器不确定到底是那个 map作为数据结构,在万能头中被定义 如果你用的是万能头,建议将map改为mapp或mp
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????