成都网站建设设计

将想法与焦点和您一起共享

怎么使用C++实现迷宫游戏

这篇文章主要介绍了怎么使用C++实现迷宫游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

为锡山等地区用户提供了全套网页设计制作服务,及锡山网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、锡山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

C++实现迷宫游戏的具体代码如下

//文件的输入,有墙
#include
#include
#include
#include
using namespace std;
const int max1=100*100;   //加入墙
const int max2=102;
bool value[max2][max2];   //记录是否被访问过
int maze[max2][max2];    //迷宫的大小
int n,m;   //输入迷宫的长和宽
ofstream outfile("path.txt");   //文件保存迷宫及输出的路径
struct Point   //栈中的数据
{
 int x;
 int y;
};
struct Stack
{
 int top;
 Point path[max1];  //存坐标点的数组栈
 stack()
 {
 top=-1;    //栈中从0开始存数据
 }
 bool Empty()  //检验是否为空
 {
 if(top==-1)return true;
 else
  return false;
 }
 void Clear()   //清空栈
 {
 top=-1;
 }
 void Push(Point p)   //进栈
 {
 top++;
 path[top]=p;
 }
 Point Pop()    //返回栈顶元素
 {
 return path[top]; 
 }
 void Delete_Pop()   //删除顶栈元素
 {
 top--;
 }
 int Y_N_Push()
 {
 int x=path[top].x;
 int y=path[top].y;
 if(x<1||y<1||x>n||y>m||!value[x][y]||maze[x][y])    //不符合要求
 {
  value[x][y]=false;   //标记这个点被访问过(不能任意做标记)
  return 1;         
 }
 else
  if((x==n)&&(y==m))   //已经找到出口,不要标记,后面直接跳出
  return 2;
  else
  {
  value[x][y]=false;   //标记这个点被访问过
  return 3;    //可以进栈
  }
 }
 void Output()   //输出栈中的路径
 {
 int i;
 for(i=0;i";
 }
 cout<<"("<";
 }
 outfile<<"("<>n>>m;
 for(i=0;i<=(m+1);i++)
 maze[0][i]=maze[n+1][i]=1;
 for(i=1;i<=(n+1);i++)
 maze[i][0]=maze[i][m+1]=1;
 cout<<"输入迷宫,1为墙,0为可通路(规定左上角为入口,右下角为出口):"<

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么使用C++实现迷宫游戏”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


新闻名称:怎么使用C++实现迷宫游戏
URL网址:http://chengdu.cdxwcx.cn/article/gcpshe.html