不确定这是否以前发布过,但这是一个相对较短的问题
我目前正在开发一款被某物追赶的迷宫游戏。
目前,玩家从(0,0)开始,怪物从(9,9)开始。如果移动是递增/递减一(而不是两者),那么计算怪物到达主角所需的移动量的算法/代码是什么?
从评论中我意识到我应该澄清一些事情。
如果房间类型为1,则为墙壁,否则为开放式。但最重要的是墙壁不会影响怪物。也许更好的方法是问如果所有数组都打开,需要移动多少次。
最佳答案
您可以查看A*
搜索算法广泛应用于游戏中,因为它使用启发式方法来提高性能。
就您而言,启发式可能是 Manhattan Distance度量来计算网格元素之间的距离。该距离度量考虑了 X 和 Y 坐标差异的总和(与欧几里得距离不同,它不允许对角线遍历)。
但是,要使用此算法,您需要制作 map 的图形表示,如下所示:
关于java - 查找二维数组中两个对象之间的距离,而不是对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23099836/