你能几次过?
高级迷宫排名.xls
(14 KB, 下载次数: 25)
[mw_shl_code=c,true]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
char a[20][21]={"####################",
"#O # #",
"# ###### ####### #",
"# # # # $#$# #",
"# # ###### # ##[]# #",
"# # #@# # # # # #",
"# # # # #$# # #",
"#####[]# ######$ # #",
"# # @ # # #",
"## # # ######## #[]#",
"# # # # # #",
"# ## #####@# #### #",
"# # # # #",
"## ##### ######### #",
"# #$@ # @ # #",
"# #@######### ## # #",
"# # # #",
"# ############### #",
"# [] #",
"#################[]#",};
int b,x=1,y=1,money=0;
char ch;
while(1)
{
for(b=0;b<=19;b++)
puts(a);
printf("$ %d a← d→ w↑ s↓",money);
if(x==19 && y==18)
break;
ch=getch();
if(ch=='a')
{
if(a[x][y-1]==' ')
{
a[x][y]=' ';
y--;
a[x][y]='O';
}
if(a[x][y-1]=='$')
{
a[x][y]=' ';
y--;
a[x][y]='O';
money++;
}
if(a[x][y-1]=='@')
{
a[x][y]=' ';
y--;
a[x][y]=' ';
x=19-x;
y=19-y;
a[x][y]='O';
}
if(a[x][y-1]==']' && money>0)
{
a[x][y]=' ';
y--;
a[x][y]='O';
y--;
a[x][y]=' ';
y++;
money--;
}
if(a[x][y-1]=='[' && money>0)
{
a[x][y]=' ';
y--;
a[x][y]='O';
money--;
}
}
if(ch=='d')
{
if(a[x][y+1]==' ')
{
a[x][y]=' ';
y++;
a[x][y]='O';
}
if(a[x][y+1]=='$')
{
a[x][y]=' ';
y++;
a[x][y]='O';
money++;
}
if(a[x][y+1]=='@')
{
a[x][y]=' ';
y++;
a[x][y]=' ';
x=19-x;
y=19-y;
a[x][y]='O';
}
if(a[x][y+1]=='[' && money>0)
{
a[x][y]=' ';
y++;
a[x][y]='O';
y++;
a[x][y]=' ';
y--;
money--;
}
if(a[x][y+1]==']' && money>0)
{
a[x][y]=' ';
y++;
a[x][y]='O';
money--;
}
}
if(ch=='w')
{
if(a[x-1][y]==' ')
{
a[x][y]=' ';
x--;
a[x][y]='O';
}
if(a[x-1][y]=='$')
{
a[x][y]=' ';
x--;
a[x][y]='O';
money++;
}
if(a[x-1][y]=='@')
{
a[x][y]=' ';
x--;
a[x][y]=' ';
x=19-x;
y=19-y;
a[x][y]='O';
}
if(a[x-1][y]==']' && money>0)
{
a[x][y]=' ';
x--;
a[x][y]='O';
y--;
a[x][y]=' ';
y++;
money--;
}
if(a[x-1][y]=='[' && money>0)
{
a[x][y]=' ';
x--;
a[x][y]='O';
y++;
a[x][y]=' ';
y--;
money--;
}
}
if(ch=='s')
{
if(a[x+1][y]==' ')
{
a[x][y]=' ';
x++;
a[x][y]='O';
}
if(a[x+1][y]=='$')
{
a[x][y]=' ';
x++;
a[x][y]='O';
money++;
}
if(a[x+1][y]=='@')
{
a[x][y]=' ';
x++;
a[x][y]=' ';
x=19-x;
y=19-y;
a[x][y]='O';
}
if(a[x+1][y]==']' && money>0)
{
a[x][y]=' ';
x++;
a[x][y]='O';
y--;
a[x][y]=' ';
y++;
money--;
}
if(a[x+1][y]=='[' && money>0)
{
a[x][y]=' ';
x++;
a[x][y]='O';
y++;
a[x][y]=' ';
y--;
money--;
}
}
system("cls");
}
Sleep(1000);
if(money==0)
printf("\n\n你通过了!\n\n");
if(money==1)
printf("\n\n恭喜你找到了完美过法!\n\n");
Sleep(3000);
system("pause");
return 0;
}
[/mw_shl_code] |