代码:
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
int main()
{
cout<<"请避开原子弹(#)收集宝藏($)"<<endl;
int flag=0;
char maze[18][24]= {"************** ********",
"* * * *",
"* ************ * ** * *",
"* * **** * *",
"* ********** * * * *",
"* ** * * ******",
"* ** ***** ***** * ** *",
"*# * * *",
"****** * ********** *",
"* * * * * $ *",
"* **** * * ****** *****",
"* * * * * * * *",
"* * ****** * ** * * * *",
"* * * ** * * * *",
"* ********** ** * *",
"* # * $ *",
"*************** *******",
"***********************"};
int x,y;
srand(time(0));
x=rand()%18;
y=rand()%23;
while(maze[x][y]=='*')
{
x=rand()%18;
y=rand()%23;
}
while(maze[x][y]=='$')
{
x=rand()%18;
y=rand()%23;
}
maze[x][y]='m';
for(int i=0;i<=17;i++)
{
for(int j=0;j<23;j++)
{
cout<<maze[i][j]<<" ";
}
cout<<endl;
}
char c;
while(true)
{
c=getch();
if(c=='W'&&maze[x-1][y]!='*')
{
maze[x][y]=' ';
x--;
maze[x][y]='m';
system("cls");
}
if(c=='S'&&maze[x][y-1]!='*')
{
maze[x][y]=' ';
x++;
maze[x][y]='m';
system("cls");
}
if(c=='A'&&maze[x][y-1]!='*')
{
maze[x][y]=' ';
y--;
maze[x][y]='m';
system("cls");
}
if(c=='D'&&maze[x][y+1]!='*')
{
maze[x][y]=' ';
y++;
maze[x][y]='m';
system("cls");
}
for(int i=0;i<=17;i++)
{
for(int j=0;j<23;j++)
{
if(i>=x-3&&i<=x+3&&j>=y-3&&j<=y+3)
{
cout<<maze[x][y];
}
cout<<maze[i][j]<<" ";
}
cout<<endl;
}
if(maze[16][20]=='m')
{
flag++;
MessageBox(0,"恭喜你!得到一个宝箱!","提示",MB_OK);
}
if(maze[9][20]=='m')
{
flag++;
MessageBox(0,"恭喜你!得到一个宝箱!","提示",MB_OK);
}
if(flag==2)
{
MessageBox(0,"通关了","提示",MB_OK);
return 0;
}
if(maze[8][2]=='m')
{
MessageBox(0,"很可惜!失败了(踩到原子弹#)","提示",MB_OK);
return 0;
}
}
return 0;
}