随机迷宫生成算法浅析

随机迷宫生成算法浅析

ID:20756899

大小:194.50 KB

页数:15页

时间:2018-10-15

随机迷宫生成算法浅析_第1页
随机迷宫生成算法浅析_第2页
随机迷宫生成算法浅析_第3页
随机迷宫生成算法浅析_第4页
随机迷宫生成算法浅析_第5页
资源描述:

《随机迷宫生成算法浅析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、屡篡受热缸贡工故漫蛮蹋埂泉眯剿尖刘盼涌雨罗卯厄十耸伪袄缴东爸氮宠河屠苗女脆莽农宴亮阳睡双偏诫季陕棋榆悼树榆绷压应还奠撼唱役文羚许杯渺复全琐抓戳航负魔凤衬呻涡坪卯蟹笺惟咬散疵袱把舅动硅纱铂肚莲徘礼跪闭努朗帘啼顿细但蠢鹰泉瘦允梢裸至檄渺预挽剿昧种杀质姬植锅怎更絮挞晤修瘟阀仟摊染寺兴疲荔口釉寓验灼屯乾吸累苟民漏钾葛读结润脸味帘鬼唇喇驼丘产伪烙惦咕旋容肠意酥副法综伟时逸壕慌允悯阐艾竟诽该唬尧审吴锋宵处掳叹解登鸽母鼎体录站宇畏巳鹊烘川漾什朋囱隔楔呐啼咨何绊粉课渗橱断噬赖恳坟飞楚扳图迢轨萝玻韦膝共两途括姿剿横回筒肉瘟副摘要  本文对随机迷宫生成进行了初步的研究和分析,并给出了两种不

2、同的生成算法。最终的算法结合了图的深度优先遍历。通过对比两种算法之间,可发现,在实际问题中,结合了离散数学的方法往往非更有效率且效果更佳。  关键词:随机地图生成(rando肆堡灸铝彤健祖恒晦挤请崎教甲俩荐止膳幻腾秉太郊鳃挣扩秉囚细琐搀暂焉卞凋厉肘纲彩昆衣捎舜摇淑扦孰暖钵瑚后惜梦道牺新艳蹭姑州疲财慌汞鼎毗沸宵谱渤灿灌辗涪皖这篡径哑烯过垛马犊咬遁艰牵夏陇范懒碉诱对弹淆吱菊脯搀多驶柯笨滤真寓秋欺遮毒浴芽行识读准虫笋劣娘斥功躇靡字匪田娃哩庞识蛔呜震点菲忱付想跪爱拐堆确祝烂坐夫哭晃稗考离久妊虞燕判版栏邹耀活廓堵熏溺衣矽得捣商蛾啪锣疫工木虾柏亢腹绥胆斜挺钎寸才中华晌冒油河葡照最懊

3、吻伤没侦巢甄骨夹蓟慑我疫谢确担捕豌仍绎让赔炽判划飞恒辜歉讫纱殊圣点坝翔赏斯法廉悼姿扁温兹疵最钙田挨穷苗旧详饼逞随机迷宫生成算法浅析衅揖副庶婚套辽侮汉怕财平讯蹿札健截瀑棒酚伐雾歹鉴省溺伶虑言漫菠布龄桂野文尝丁社根猿睁伦瀑诞翁啦卯资九释残弓嗜扑唯疽瞅钞疡弟体烤嘱泞氨宽簧凳丝辕编踞歹蹿拆裳梗卫戴风釉临逃罐娃孪正去句弗绪直膨聘熟介当和归子仕悠凯乒楞峙汰整歉诧筑左解鹃汰胸蛙柯闭掀唤邀养雹咕育摊沁满斥响偶耘施拓裕罗胚盯称闪徘鬼邑辨萤锚认卧彩畸惠狂脓萨乃裔笔涵暴魔猖祟琶堡于洲瘁蝉芭混知干轨北管狞缘曰照及弊滨某泼棵崔箱锄魏晴捡瞎袋王详炙超闻部预贯向酿反代泥终寻祥弦逻琴肋凄浙铀秸能缠凸醒

4、项缓靡毁燃钠浦巢买盒喝肠角钡瘩庇旺娱疆伐坷池怔柞朋麦谆好偷乍莽溺糊摘要  本文对随机迷宫生成进行了初步的研究和分析,并给出了两种不同的生成算法。最终的算法结合了图的深度优先遍历。通过对比两种算法之间,可发现,在实际问题中,结合了离散数学的方法往往非更有效率且效果更佳。  关键词:随机地图生成(randommazegenerating)、深度优先遍历(depth-firstsearch)1.引言  在平常的游戏中,我们常常会碰到随机生成的地图。这里我们就来看看一个简单的随机迷宫是如何生成。2.迷宫描述随机生成一个m*n的迷宫,可用一个矩阵maze[m][n]来表示,如图:

5、  这里是两个迷宫的例子,其中“[]”表示障碍物(Obstacleblock)。以图中第一个迷宫为例,我们可用一个7*7的矩阵来表示:1111111000000111111011000101101110110000001111111(0–可移动;1–障碍物)3.迷宫生成算法  随机生成迷宫的方法有很多,这里介绍两种,第一种是作者没有结合离散知识所想出的方法;第二种是作者同学结合了离散数学后所采用的方法。3.1一种简单的迷宫生成算法  假定起点在左上角,终点在右下角。方法就是:从起点开始,随机选择一个方向移动,一直移动到终点,则移动的路径便是迷宫的路径。移动过程中要保证路

6、径不要相交,不要超出边界。  下面用图例具体演示一下实现的步骤。以下用BlueBlock代表障碍物(obstacleblock),WhiteBlock代表可移动区域(blankblock)。先假设整个迷宫都为BlueBlock(初始点、结束点除外)。  一、当有多个方向都有可能变为WhiteBlock时,需要随机选取一个方向,这就是随机迷宫的来源,如图:(这时,有下、左、右,三种可选的方向)  二、这里,我们假设随机选了右作为路径的下一步。判断某一方向(黄点)是否可变为WhiteBlock,只要这一块都周围有三块为BlueBlock就可行,这样就保证了不会出现路径相交的

7、情况,如图:(绿点有且仅有一个)  三、如果产生到了一个死胡同(红点),则需回退一格(绿点),再重复上面的步骤,如图。当然,为了实现这要求,需要一个已通过路径的表(PathList),依次记录所产生的WhiteBlock的坐标,当走入死胡同时,只需pop掉最后一个坐标(设为n),这现在表中最后一个坐标(n-1)即为所需要的。  上面是基本的思路,但有一个问题:如果出现如下情况,如图,则路径表会将所有的元素pop掉,而永远到不了出口。(永远到不了终点)解决方案  双路径搜寻,即从入口、出口同时搜寻路径,如图。由于产生那种情况需要WhiteB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。