首页 > 其他 > 详细

【关于地图生成的研究笔记】简单路径 / Simple Route

时间:2019-02-23 20:30:22      阅读:207      评论:0      收藏:0      [点我收藏+]

规则:确定起始点后,随机选一个方向进行访问,然后重复以上循环。我加了个条件,不会出现反方向访问的情况,打个比方,如果它前一步是往右走,那下一步就不能往左走了。

允许重复访问相同的Grid。没有停止生成的条件。

如图(没有双缓冲,屏幕反复刷新,闪屏严重,因此我缩小了尺寸,加上了一个Sleep(),勉强截到一张)

技术分享图片

决定还是循环一定次数后再进行渲染,不过不知道是哪里写错了,还是随机数生成器有问题,这次它给了我一个可爱的圈:

技术分享图片

我觉得问题应该出在这儿,由于CPU实在太快导致返回的非精确时间都是相同的值:

技术分享图片

所以我修改了一下种子,令我惊喜的是,这样简单的一个算法返回了只要修改种子就能返回许多神奇的图案:

技术分享图片

技术分享图片

技术分享图片

然后,我在UP和DOWN上加上了visited检测,但是没有在LEFT和RIGHT上加:

技术分享图片

结果更加有趣了:

技术分享图片

技术分享图片

代码已经上传至github,你可以修改里面的参数编译,然后查看效果,注意每个循环后面的Sleep()的参数不要超过3,因为每次加1你可能都要因此等待二三十秒才能出结果。

还有,要想生成不同的图案,你必须修改种子然后重新编译,抱歉,可能会花费额外的3-6秒钟,但是我目前还没有想到解决方案使随机数生成器不完全依赖时间。

(感想:突然感觉有机生命体的产生没这么偶然了。。对了,说到有机,今天老师开始上有机化学了!很喜欢这方面的东西。)

祝我自己生日快乐吧,今天是我存在于这个世界上的第16年!

 

【关于地图生成的研究笔记】简单路径 / Simple Route

原文:https://www.cnblogs.com/lostmatch/p/10424020.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!