你好,我正在制作一个去最近的宝箱的 PirateShip Actor。使用箱子的 ArrayList 我将如何在网格上找到离我的海盗船最近的箱子。先感谢您。
问问题
472 次
1 回答
1
如果您有 PirateShip 的位置和箱子的 ArrayList,那么我首先建议将箱子列表转换为箱子位置列表。然后:
Location loc = getLocation();
int lowest = Integer.MAX_VALUE;
Location closest = null;
for(Location l : locs)
{
double dis = Math.sqrt(Math.pow(l.getRow() - loc.getRow(), 2) + Math.pow(l.getCol() - loc.getCol(), 2)); // Distance Formula
if(dis < lowest)
{
lowest = dis;
closest = l;
}
}
这将设置为最接近列表中最近的位置,您可以使用 /* 在此处插入网格名称 */.get(closest) 来获取该位置的箱子
于 2013-01-30T05:20:51.863 回答