我将使用附图描述我的问题:
绿色块是我的游戏实体的起始位置。接下来我想将它移动到橙色方块标记的位置。但同时,我假设悬浮是不可能的或者/&这个街区是一堵墙。无论哪种情况,都不可能去那里。所以我需要想办法找到第一个可用位置(尽可能靠近橙色方块)让我的实体移动(在这种情况下,它可以是灰色列的顶部或指向橙色下方的两行正方形)。
我有一个描述网格的二维数组,其中1
是一堵墙,0
是空的空间。
data = [
[1,1,1,1,...],
[1,0,0,0,0,...],
[1,0,0,...],
...
]
我正在以这种方式考虑解决方案(例如,我可以检查1.
我的单元格下方是否是地板并结束算法,或者如果不是单元格则继续2.
)但我想不出一种有效的方法(并且很容易)。
有谁知道如何解决这个问题?我不确定我应该向谷歌询问什么算法:)