ArrayList Processing

That is because you have a loop over your list of bullets:

for(int i=0; i < bullets.size(); i++){
}

…and for each bullet, it checks all the enemies
…and for each enemy, it also checks this:

      else if(enemies.get(j).y+enemies.get(j).w > 688){
        enemies.remove(j);
        lives -= 1;
        break;
      }

So if there aren’t any bullets, this check won’t run. Try moving it outside the bullets loop, and loop over the enemies again, separately, after you are done bullet-checking.

for(int j=0; j < enemies.size(); j++){
  if(enemies.get(j).y+enemies.get(j).w > 688){
    enemies.remove(j);
    lives -= 1;
    break;
  }
}
1 Like