我正在为 Bukkit 开发这个,但我愿意移植一个仅限java的解决方案。
现在,我在一个房间里有一个角色,有一个暴露在外面的开口,让辐射像这样渗透:
(抱歉可怕的绘画技巧)在这张图片中,算法应该返回false,但是如果覆盖了那个白色位,它将返回true。 我需要一种方法来检测角色是否在房间内。请记住,房间可以是任何尺寸,而不必是长方体。
我喜欢它的工作方式是我在屋顶上方有一个任意位置,如果这个迷宫算法能够达到这个位置,我就会知道角色没有完全覆盖。
编辑:实际上如果退出距离超过20个单位,我不会介意算法超时。
答案 0 :(得分:1)
这本身不是一个答案,但它可能是继续前进的好点。
由建筑物的墙壁,地板和墙壁围成的建筑物的一部分或一部分 天花板上。
具有屋顶和墙壁的结构
由多个部分构建的建筑物或其他物体
你能看出这些是多么糟糕吗? (建筑和结构的定义是递归的!)直到你能够为你认为的房间提出清晰的黑白分辨率,你(和我们)几乎没有希望找到一个好的解决方案