2012-06-02 61 views
0

你好,我正在製作一個PirateShip演員,前往最近的寶箱。使用箱子的ArrayList,我將如何找到離我的海盜船最近的胸部。先謝謝你。Gridworld在列表中找到最接近的位置

+0

A */D */djikstra ...? – esej

+0

城市街區距離?或者當鸚鵡飛行? – stark

+0

城市街區距離 –

回答

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; 
    } 
} 

這將設置最接近列表中的最近的位置,你可以使用/ *插入電網的名字在這裏* /讓胸部在該位置獲得(最近)

相關問題