【发布时间】:2016-05-12 04:04:43
【问题描述】:
对不起标题,但我不知道如何用一句话描述我的问题。
所以基本上我正在尝试创建一些东西来制作随机地牢。我在二维网格上的随机位置制作房间,并为每个房间添加门。然后我得到第一扇门并尝试找到最近的另一扇门,但我找不到一个好的算法,我尝试了 a* 的修改版本,还查看了洪水填充,但这不是我需要的。我在想第一扇门周围有某种螺旋形,然后检查我们经过的每一块瓷砖,看看它是否是一扇门。如果有帮助的话,我有一个关卡中所有门的列表,但有很多,所以我认为检查每个门的距离不是一个好主意。
有人知道这方面是否有好的算法吗?
【问题讨论】:
-
如果你找到距离的平方
(x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)而不是距离sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))将不会使用平方根来找到这个距离,并且会比检查很多瓷砖(的当然,这取决于要检查的瓷砖数量和要检查的门数)。
标签: c# algorithm grid-layout