云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C++迷宫游戏

C++迷宫游戏

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 0:48:51

#include #include #include

using namespace std;

void mazeGenerator(char **&,int ,int,int,int ); //声明生成迷宫的函数

void mazeTraverse(char **& ,int ,int ,int ); //声明走迷宫的函数 int main() {int m,n;

cout<<\请输入迷宫的长和宽:\; cin>>m>>n;

char**a; //定义二维指针,记录二维数组 a=new char*[m];

for(int i=0;i

a[i]=new char[n]; //申请二维动态数组 srand (int (time (0))); //调用种子函数,作为rand函数的启动值,参数为time(0)时间函数返回的系统当前时间

int p=rand()%(m-2)+1,q=rand()%(m-2)+1; //用随机数赋值给p、q,p记录入口位置,q记录出口位置 int k=p; //k记录走迷宫到达的位置,初始位置为入口 cout<<\迷宫生成:\<

cout<<\现在进行走迷宫:\<

void mazeGenerator(char**&a,int m,int n,int p,int q)//用于生成任意大小的迷宫,**&a引用二维指针数组, //m、n用于说明迷宫(数组)大小,p、q用于说明出入口的位置 {int i,j;

for(i=0;i

for(int i=1;i

else a[i][j]='.';}

a[p][0]='x',a[p][1]='.';a[q][n-1]='.',a[q][n-2]='.';

for(i=0;i

cout<

void mazeTraverse(char **&a,int k,int m,int n)// 用于实现走迷宫,并输出每移动一步后迷宫的状态, //**&a引用二维指针数组,k记录走迷宫时所到达的位置,m、n用于说明迷宫(数组)大小

{int i,j,t=2,l=0;char ch; do

{switch(t)

//a[k][l]为当前位置 // t=

// 2: a[k+1][l] 向下 // 1: a[k][l+1] 向右 // 4: a[k-1][l] 向上 // 3: a[k][l-1] 向左 // 向下—>向左—>向上—>向右—>向下...... 可实现贴墙走迷宫 {case 2:

{if(a[k+1][l]=='#') {if(a[k][l+1]=='#')

{ if(a[k-1][l]!='#') {a[k-1][l]='x'; k=k-1; t=1;}

else {a[k][l-1]='x';l=l-1;t=4;} } else {

a[k][l+1]='x'; l=l+1; t=2; } }

else {

a[k+1][l]='x'; k=k+1; t=3; }; do

{cin.get(ch);}

while(ch!='\\n'); //按回车键走一步,并输出迷宫走这一步后的状态 for(i=0;i

{if(a[k][l+1]=='#') {if(a[k-1][l]=='#') {if(a[k][l-1]!='#') {a[k][l-1]='x'; l=l-1; t=4;}

else{ a[k+1][l]='x';k=k+1;t=3;} } else

{a[k-1][l]='x';

搜索更多关于: C++迷宫游戏 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include #include #include using namespace std; void mazeGenerator(char **&,int ,int,int,int ); //声明生成迷宫的函数 void mazeTraverse(char **& ,int ,int ,int ); //声明走迷宫的函数 int main() {int m,n; cout<>m>>n; char**a; //定义二维指针,记录二维数组 a=new char*[m]; for(int i=0;i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com