Bomber i wiazkowiec nie wylaza poza ekran

This commit is contained in:
2024-12-12 00:11:24 +01:00
parent 168ba2e477
commit f1dc19e795
6 changed files with 77 additions and 38 deletions

View File

@@ -96,8 +96,8 @@ void Plansza::update() {
}
// generowanie nowego meteoru
//spawn_meteor();
ship.update();
spawn_meteor();
spawn_enemy();
spawn_advanced_enemy();
spawn_wiazkowiec();
@@ -254,7 +254,7 @@ void Plansza::update() {
}
}
for (auto it = BEnemies.begin(); it != BEnemies.end();) {
it->update(); // Ruch b
it->update(); // Ruch bombera
it->shoot(); // Strzał przeciwnika
window->draw(it->getSprite()); // Rysowanie na ekranie
@@ -272,7 +272,6 @@ void Plansza::update() {
sf::Vector2f playerPosition = ship.getSprite().getPosition(); // Aktualna pozycja gracza
bool playerHit = false;
// Aktualizacja pozycji Kamikadze
it->update(playerPosition);
// Wybuch, gdy Kamikadze dotknie gracza
@@ -289,7 +288,7 @@ void Plansza::update() {
it->explode(playerPosition, playerHit); // Eksplozja trwa
}
// Usunięcie martwego Kamikadze z listy
// Usunięcie martwego Kamikadze
if (it->isAlive()) {
window->draw(it->getSprite());
++it;
@@ -678,9 +677,11 @@ void Plansza::spawn_advanced_enemy() {
}
void Plansza::spawn_bomber() {
if (BomberSpawnClock.getElapsedTime().asSeconds() >= 120) { // Spawn co 10 sekund
if (BomberSpawnClock.getElapsedTime().asSeconds() >= 10) { // Spawn co 10 sekund
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
BEnemies.emplace_back(spawnX, -50, BomberEnemyTexture, BombaTexture);
Bomber bomber(spawnX, -50, BomberEnemyTexture, BombaTexture);
bomber.setPlanszaHeight(size.height, size.width); // Przekazanie wysokości i szerokości okna
BEnemies.push_back(bomber);
std::cout << "Spawned Bomber Enemy at X: " << spawnX << std::endl;
BomberSpawnClock.restart();
}
@@ -696,10 +697,10 @@ void Plansza::spawn_kamikadze() {
}
void Plansza::spawn_wiazkowiec() {
if (WiazkowiecSpawnClock.getElapsedTime().asSeconds() >= 10) { // Spawn co 10 sekund
if (WiazkowiecSpawnClock.getElapsedTime().asSeconds() >= 110) { // Spawn co 10 sekund
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
Wiazkowiec wiazkowiec(spawnX, -50, WiazkowiecTexture);
wiazkowiec.setPlanszaHeight(size.height); // Przekazanie wysokości okna
wiazkowiec.setPlanszaHeight(size.height, size.width); // Przekazanie wysokości i szerokosci okna
WEnemies.push_back(wiazkowiec);
std::cout << "Spawned Wiazkowiec Enemy at X: " << spawnX << std::endl;
WiazkowiecSpawnClock.restart();