C++:吃豆人加强版2.0

//比上个版本地图扩大路线增多:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main() {
printf("你能用最短的路线让吃豆人吃到豆子么?\n") ;
char mp[10][10]= {
"*********",
"*@ *",
"** * * **",
"* *** *",
"* * * *",
"** * *",
"* ** ** *",
"*. *",
"*********",
};
int top=0;
bool l=0;
int x=1,y=1;
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
printf("%c",mp[i][j]);
}
cout<<endl;
}
while(l!=1){
char k;
scanf("%c",&k);
if(k=='s'){
if(mp[x+1][y]=='.'){
l=1;
}
if(mp[x+1][y]!='*'){
mp[x][y]=' ';
x++;
mp[x][y]='@';
top++;
}
}
if(k=='w'){
if(mp[x-1][y]=='.'){
l=1;
}
if(mp[x-1][y]!='*'){
mp[x][y]=' ';
x--;
mp[x][y]='@';
top++;
}
}
if(k=='a'){
if(mp[x][y-1]=='.'){
l=1;
}
if(mp[x][y-1]!='*'){
mp[x][y]=' ';
y--;
mp[x][y]='@';
top++;
}
}
if(k=='d'){
if(mp[x][y+1]=='.'){
l=1;
}
if(mp[x][y+1]!='*'){
mp[x][y]=' ';
y++;
mp[x][y]='@';
top++;
}
}
system("cls");
printf("你能用最短的路线让吃豆人吃到豆子么?\n") ;
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
printf("%c",mp[i][j]);
}
cout<<endl;
}
}
if(top==12)
printf("你获胜了!");
else
printf("不是最短,你失败了!");
return 0;
}

posted @ 2020-08-19 15:47  ✿北辰✿  阅读(1235)  评论(0)    收藏  举报