java - 检测3D房间是否有出路

标签 java algorithm maze

<分区>

我正在为 Bukkit 开发这个,但我愿意移植一个纯 java 解决方案。

现在,我在一个房间里有一个角色,这个房间有一个暴露在外面的开口,以便辐射像这样渗入:

dead_man

(对不起,糟糕的绘画技巧)在这张图片中,算法应该返回 false,但是如果白色部分被覆盖,它会返回 true。 我需要一种检测角色是否在房间内的方法。请记住,房间可以是任意大小,不一定是长方体。

我希望它的工作方式是我在屋顶上方有一个任意位置,如果这个迷宫算法能够到达这个位置,我就会知道这个角色没有被完全覆盖。

编辑:实际上,如果导出距离超过 20 个单位,我不会介意算法超时。

最佳答案

这本身并不是一个答案,但它可能是一个很好的起点。

  1. 房间的定义:

a part or division of a building enclosed by walls, floor, and ceiling.

  1. 建筑的定义:

a structure with a roof and walls

  1. 结构的定义:

a building or other object constructed from several parts

你能看出这些定义有多糟糕吗? (建筑和结构的定义是递归的!)直到你能为你认为是房间的东西想出一个清晰的、黑白分明的定义,你(和我们)想出一个好的解决方案的希望很小.

关于java - 检测3D房间是否有出路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46621198/

相关文章:

java - 如何访问远程 jackrabbit 存储库?

java - ReplaceAll 也替换斜杠之前和之后的完整单词

java - Mockito:获取模拟对象中字段的值

algorithm - 如何从建筑物中扔出 2 个鸡蛋并用 ~c*sqrt(F) throws 找到 F 层?

algorithm - 在 Javascript 中实现迷宫生成算法

java - 如何在Java中将句子分成单词,然后将其分为两组?

javascript - 根据三个标记的坐标制作圆圈

algorithm - Gnome 排序的平均 Big-O 复杂度是多少?

R中的递归迷宫求解器

java - 查找坐标是否为顶点/边界坐标的有效方法?