我有一个包含外墙(标记为 W)、环境块(E)、开放空间(o)和活动点(A)的网格(下面的示例)。目前,该网格存储在 [,] 中,所有数据都与给定点相关联。我试图确定一个活动点是否被封闭(定义为无法到达网格的顶部,因为它被环境块阻挡),但我很难找到解决这个问题的简单方法。我知道我可以实现 A* 并且使用所有示例代码或多或少会很容易,但我认为对于这样一个看似微不足道的操作来说,性能损失真的是必要的或值得的。
W--Top Of Grid--W
W---------------W
W-EEAEE-----EEE-W
WEEEEEEE-EEEEAEEW
WEEEEEEE--EEEEEEW
WEEEEEEEE-AEEEEEW
WWWWWWWWWWWWWWWWW
向下第三行的 A 可以绘制到网格顶部的路径,最后一行的 A 也可以,但是向下第四行的 A 不能。我不关心实际路径,我只需要确定对象是否被困。这个项目的最佳解决方案是什么?
对于它的价值,它是一个用于回合制网格游戏的 C# 项目,如果有帮助的话。
预先感谢您提供的任何帮助,非常感谢。