中易网

C++编程问题:编一个迷宫游戏程序

答案:2  悬赏:0  
解决时间 2021-02-12 17:08
C++编程问题:编一个迷宫游戏程序
最佳答案
在书找的,只打了个结构体(太多了),我利用stack做的!希望能对你有所帮助!程序如下:
typedef struct{
int ord;//通道块的路径上的序号
PosType seat;//通道块在迷宫的坐标位置
int di;//从此通道块走向下一个通道块的方向
}SelemType;//stack的元素类型
Status MazePath(MazeType maze,PosType start,PosType end){
//若迷宫 maze中存在从入口start到出口end的通道,所以,求得一条存放在stack中
//(从stack底到顶)并返回TRUE,否则返回FALSE
InitStack(S);
curpos=start;//设置当前的位置为入口位置
curstep=1;//探索第一步
do{
if(Pass(curpos)){//当前位置可以通过,即是未曾走过的通道块
FootPrint(curpos);//留下足迹
e=(curstep,curpos,1);
Push(s,e);//加入路径
if(curpos==end)
return(TRUE);//到达终点
curpos=NextPos(curpos,1);//下一位置是当前位置的东部
curstep++;//探索下一步
}
else{//当前位置不能通过
if(!StackEmpty(S)){
Pop(S,e);
while(e.di==4&&!StackEmpty(S)){
MarkPrint(e.seat);//留下不能通过的标记,并退回一步
Pop(S,e);
}
if(e.di<4){
e.di++;
Push(s.e);//换下一个方向探索
curpos=NextPos(e.seat e.di);//设定当前位置是该新方向上的相邻块
}//if
}//if
}//else
}while(!StackEmpty(S));
return(FALSE);
}//MazePath
全部回答
这个很难的,迷宫的连通性要保证,还要图形化,搜索算法等等。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么样子的女人对男人会动手动脚的???
起亚k5仪表盘上怎么没有显示数字时速
蕲春县蕲州镇一关社区居民委员会地址在什么地
硬拉380磅在吧里什么水平
短信报警怎么报
从长治到太行山大峡谷有多远?
一个射手男生对一个女生有好感,但又不主动联
海尔曼斯皮草城这个地址在什么地方,我要处理
江水历峡 历什么意思 或圆如箪 或什么意思
awg与mm及电流 对照表是针对什么导体
赣州哪里有中信银行
国食注字是什么意思
想问下,想在网上买水果,哪个渠道好啊?
发元综合超市这个地址在什么地方,我要处理点
身高一米九的男生追你换做是你你会同意吗
推荐资讯
mac air装了win10后(只有win10一个系统)F1
嗯,我明白了!我经常听到这么句话,说什么我
一加5国内外的评价如何?
四川大学望江校区研究生教学楼3区这个地址在
有谁知道为什么播音员在播音时手上拿着稿子却
广州市花都区建筑业协会地址在什么地方,想过
云盘山这个地址在什么地方,我要处理点事
城市让生活更美好的对偶句
回流装置的仪器设备有哪些
方舟生存进化249.0怎么升级
百合理疗生活馆在什么地方啊,我要过去处理事
VB坐标可以动态变化
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?