c语言课程设计一个迷宫 15

迷宫问题是从迷宫中找寻出路。一般设计迷宫为二维平面图,将迷宫的左上角做入口,右下角做出口,求从入口点到出口点的一条通路。本程序要求每次程序运行随机生成N×N的迷宫图(N预... 迷宫问题是从迷宫中找寻出路。一般设计迷宫为二维平面图,将迷宫的左上角做入口,右下角做出口,求从入口点到出口点的一条通路。
本程序要求每次程序运行随机生成N×N的迷宫图(N预定义为常数,修改N的值可以改变迷宫图的大小,只要不超过屏幕范围即可)。用白色表示可走的路,蓝色表示墙壁不可以通过。
程序设计两种运行方式:一种是由系统自动运行探索,用递归方法实现;一种是由人工操作探索通过。程序运行时可通过键盘输入选择这两种运行方式中的一种。
展开
 我来答
音乐骷髏布鲁克
2009-06-23 · 超过16用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:51.1万
展开全部
让人完全帮你写一个这基本没机会,
迷宫的随机生成要注意调整随机变量的值,不断测试,尽量得出一个比较可行迷宫生成器。
提醒你一下就是 自动运行探索那里,如果要用递归的话,写一个函数,判断该店是否可行,如果可行,就调用该函数探索周围的点,地图可以看做一个二维数组,0,1判断是否可行,
这里给你一个伪代码例子
//1表示可行,0表示不可行
search_map(a[][MAX],point_x,point_y)
{
if(a[point_x][point_y]==0&&数组未越界)
{
search_map(a,point_x+1,point_y);
search_map(a,point_x-1,point_y);
search_map(a,point_x,point_y+1);
search_map(a,point_x,point_y-1);
}
}
调用这个函数的时候在主函数调用search_map(a,入口_x,入口_y)即可,这样可以查到所有可以达到的范围,最后可以抽取一条或数条可行路径。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式