c语言课程设计一个迷宫 15
迷宫问题是从迷宫中找寻出路。一般设计迷宫为二维平面图,将迷宫的左上角做入口,右下角做出口,求从入口点到出口点的一条通路。本程序要求每次程序运行随机生成N×N的迷宫图(N预...
迷宫问题是从迷宫中找寻出路。一般设计迷宫为二维平面图,将迷宫的左上角做入口,右下角做出口,求从入口点到出口点的一条通路。
本程序要求每次程序运行随机生成N×N的迷宫图(N预定义为常数,修改N的值可以改变迷宫图的大小,只要不超过屏幕范围即可)。用白色表示可走的路,蓝色表示墙壁不可以通过。
程序设计两种运行方式:一种是由系统自动运行探索,用递归方法实现;一种是由人工操作探索通过。程序运行时可通过键盘输入选择这两种运行方式中的一种。 展开
本程序要求每次程序运行随机生成N×N的迷宫图(N预定义为常数,修改N的值可以改变迷宫图的大小,只要不超过屏幕范围即可)。用白色表示可走的路,蓝色表示墙壁不可以通过。
程序设计两种运行方式:一种是由系统自动运行探索,用递归方法实现;一种是由人工操作探索通过。程序运行时可通过键盘输入选择这两种运行方式中的一种。 展开
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)即可,这样可以查到所有可以达到的范围,最后可以抽取一条或数条可行路径。
迷宫的随机生成要注意调整随机变量的值,不断测试,尽量得出一个比较可行迷宫生成器。
提醒你一下就是 自动运行探索那里,如果要用递归的话,写一个函数,判断该店是否可行,如果可行,就调用该函数探索周围的点,地图可以看做一个二维数组,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)即可,这样可以查到所有可以达到的范围,最后可以抽取一条或数条可行路径。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询