如何跟踪ArrayList之一的位置?

时间:2016-02-26 23:36:10

标签: java arraylist

我有Torpedoes和Asteroids类,并且在每个类中我都浮动了它们的xPosition yPosition,高度和宽度(它们都是椭圆形)。然后我在主页面中创建了两个ArrayLists。

我想跟踪得分,当鱼雷击中小行星时,得分为-1。

之前,我总是使用

的方法
if(yPosA - height/2 < yPosT < yPosA - height/2 || xPosA - width/2 <xPosT < xPosA +width/2) {
   score = score -1;
}

我也知道如何使用一个ArrayList:

for(Torpedoes theTorpedo: TorpedoList) {
   //compare the xPos and yPos with Asteroid( which I just create once, not a ArrayList)
}

但是,如果它们都在ArrayList中,我就不知道如何比较它们的xPos。

非常感谢你!

2 个答案:

答案 0 :(得分:0)

考虑使用HashMap<Projectiles>跟踪特定位置的对象。对于ArrayList<Torpedo>中的每个鱼雷,请确认其进入的位置未被占用。

答案 1 :(得分:0)

你需要嵌套循环。

for(Torpedoes theTorpedo: TorpedoList) { 
  for(Asteroid theAsteroid: AsteroidList) { 
    //compare the pos of theTorpedo with theAsteroid
  }
}