enemy.hit();
if (enemy.getLives() == 0) {
ship.addScore(enemy.getValue());
Explosion explosion = new Explosion(enemy.getX() - Constants.ENEMY_WIDTH, enemy.getY());
explosions.add(explosion);
enemies.removeIndex(i);
if (game.configurationManager.isSoundEnabled())
ResourceManager.getSound("explosion").play();
}
}
// Si se dispara contra la bala de un enemigo, el proyectil no desaparece
// Si se dispara un misil, éste tampoco desaparece hasta que no llega al final de la pantalla,
// aunque haya acertado a algún enemigo
if ((!enemy.getClass().getSimpleName().equals("ShooterBullet")) &&
(!bullet.getClass().getSimpleName().equals("Missile")))
bullets.remove(j);
}
}
}
// Comprueba si la nave colisiona con algún enemigo
if (ship.getShieldTime() <= 0) {
for (int i = enemies.size - 1; i >= 0; i--) {
enemy = enemies.get(i);
if (enemy.getRect().overlaps(ship.getRect())) {
enemy.hit();
if (enemy.getLives() == 0) {
ship.addScore(enemy.getValue());
Explosion explosion = new Explosion(enemy.getX(), enemy.getY());
explosions.add(explosion);
enemies.removeIndex(i);
if (game.configurationManager.isSoundEnabled())
ResourceManager.getSound("explosion").play();