diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index 22e102a..794d2a0 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -382,6 +382,16 @@ void Plansza::update() { } } + for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) { + if (boss->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) { + boss->takeDamage(); + rocketIt = ship->getRockets().erase(rocketIt); + std::cout << "Rocket hit boss! Boss HP: " << boss->getHP() << std::endl; + } else { + ++rocketIt; + } + } + // Kolizja bossa z graczem if (ship->getSprite().getGlobalBounds().intersects(boss->getSprite().getGlobalBounds())) { ship->takeDamage(); @@ -415,8 +425,6 @@ void Plansza::update() { } - - if (boss->isShooting() && boss->getBeam() != nullptr) { if (ship->getSprite().getGlobalBounds().intersects(boss->getBeam()->getSprite().getGlobalBounds())) { ship->takeDamage(); // Gracz otrzymuje obrażenia