enemy kolizja rakiet

This commit is contained in:
2024-12-09 23:36:50 +01:00
parent a81cf284d0
commit 77eb83c2c3
3 changed files with 24 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ class Rocket : public Projectile{
public:
Rocket(float x, float y, sf::Texture &texture) : Projectile(x,y, texture) {};
void update() override;
};

View File

@@ -262,6 +262,26 @@ void Plansza::update() {
++enemyIt;
}
}
//oblsuga dla rakiety
for (auto enemyIt = enemies.begin(); enemyIt != enemies.end();) {
bool hit = false;
for (auto rocketIt = ship.getRockets().begin(); rocketIt != ship.getRockets().end();) {
if (enemyIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
rocketIt = ship.getRockets().erase(rocketIt);
enemyIt->takeDamage();
hit = true;
break;
} else {
++rocketIt;
}
}
if (hit && !enemyIt->isAlive()) {
enemyIt = enemies.erase(enemyIt);
} else {
++enemyIt;
}
}
}
// Meteor-related niżej
@@ -293,6 +313,7 @@ void Plansza::spawn_enemy() {
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
enemies.emplace_back(spawnX, -50, "../assets/img/enemy/enemy.png");
enemySpawnClock.restart();
}
}

View File

@@ -7,3 +7,4 @@ void Rocket::update() {
outOfBounds = true;
}
}