Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maps 如何使用随机行走生成地下城地图?_Maps_Random Walk - Fatal编程技术网

Maps 如何使用随机行走生成地下城地图?

Maps 如何使用随机行走生成地下城地图?,maps,random-walk,Maps,Random Walk,好的,我正在制作一个2d地牢爬行器,我想为它随机绘制一张地图。现在看起来我要对路径使用一个随机行走算法,结合不同黑社会环境的柏林噪声(目前只有1个,因为我使用的是我自己的看起来很糟糕的瓷砖集,只包含1个车图像和1个草图像,但不管怎样:D) 所以,在计算随机游动是如何工作的过程中,看起来我应该按照以下思路做一些事情: *创建二维数组,大小在贴图之后 *选择随机开始位置和结束位置(我选择将它们放在地图的两侧,随机分布在地图的一侧) *遵循以下步骤直到达到终点: *随机选择一个“行走”的方向(只上、下

好的,我正在制作一个2d地牢爬行器,我想为它随机绘制一张地图。现在看起来我要对路径使用一个随机行走算法,结合不同黑社会环境的柏林噪声(目前只有1个,因为我使用的是我自己的看起来很糟糕的瓷砖集,只包含1个车图像和1个草图像,但不管怎样:D)

所以,在计算随机游动是如何工作的过程中,看起来我应该按照以下思路做一些事情:

*创建二维数组,大小在贴图之后

*选择随机开始位置和结束位置(我选择将它们放在地图的两侧,随机分布在地图的一侧)

*遵循以下步骤直到达到终点:

*随机选择一个“行走”的方向(只上、下、左、右,因为你、我都是左对角传球,球员无法通过)

*“走”一个随机数量的步骤的方向(我先随机数量的步骤,然后一个接一个地走,以便稍后进行绑定检查,而不仅仅是画一条线)

*每次在平铺上“行走”,将该平铺从原来的0变为1

*重复以上步骤,直到到达终点

这就给我留下了太多的开阔地和太多的封闭地。我要找的是一条布满房间的道路,但我想控制“房间”变得多大。我不想让“房间”变得太大,有些房间变得太大。所以我想要在封闭空间中的感觉,但我也希望尽可能多地使用地图网格e

随机行走不适合这样做吗?我在考虑让每一步都有一定的宽度,也许这样行得通


或者我只是执行错误!很遗憾,我不是一个数学天才;p

出于好奇,你为什么选择一个方向和步骤数,而不是每一步都选择一个方向?(这不是批评,我认为你的问题很有趣,我只是想欣赏这个场景)到gaurantee走廊。随机化步数不应该改变任何东西,除非它是一个创建走廊的工具。它有点有效。更新(如果有人感兴趣):我想出了一种在多个点之间创建随机路径(走廊)的方法(现在是从地下城的出口,将有许多地下城是一个大型系统的一部分).基本上,我在点和每个循环之间循环,每个点“走”一个随机的方向,一个随机的步数。它“走”的每个点基本上都被保存。每个走都被检查是否有效,不能走到其他未绑定的区域或其他路径。如果它走到某个未验证的地方,它将返回。重复这个过程,直到它被迫返回回到原点。@PutBoy你为什么不把它作为这个问题的答案(你可以接受,然后可以投票)?