enemy kolizja rakiet
This commit is contained in:
@@ -7,6 +7,7 @@ class Rocket : public Projectile{
|
|||||||
public:
|
public:
|
||||||
Rocket(float x, float y, sf::Texture &texture) : Projectile(x,y, texture) {};
|
Rocket(float x, float y, sf::Texture &texture) : Projectile(x,y, texture) {};
|
||||||
void update() override;
|
void update() override;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -262,6 +262,26 @@ void Plansza::update() {
|
|||||||
++enemyIt;
|
++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
|
// Meteor-related niżej
|
||||||
@@ -293,6 +313,7 @@ void Plansza::spawn_enemy() {
|
|||||||
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
|
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
|
||||||
enemies.emplace_back(spawnX, -50, "../assets/img/enemy/enemy.png");
|
enemies.emplace_back(spawnX, -50, "../assets/img/enemy/enemy.png");
|
||||||
enemySpawnClock.restart();
|
enemySpawnClock.restart();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ void Rocket::update() {
|
|||||||
outOfBounds = true;
|
outOfBounds = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user