diff --git a/headers/Kamikadze.h b/headers/Kamikadze.h index 8f33f86..9445530 100644 --- a/headers/Kamikadze.h +++ b/headers/Kamikadze.h @@ -35,7 +35,7 @@ public: void explode(const sf::Vector2f &playerPosition, bool &playerHit); private: - bool exploding = false; // Czy kamikadze obecnie eksploduje + bool exploding = false; sf::Clock explosionClock; sf::Clock shootClock; float movementSpeed = 2.0f; diff --git a/headers/Player.h b/headers/Player.h index 4793332..a3a64d6 100644 --- a/headers/Player.h +++ b/headers/Player.h @@ -30,9 +30,9 @@ private: sf::Texture rocketTexture; int health = 3; // Liczba punktów życia gracza sf::Texture bulletTexture; - bool isImmortal = false; // Czy gracz jest chwilowo nietykalny + bool isImmortal = false; // flaga na immortal sf::Clock immortalityClock; // Zegar kontrolujący czas nieśmiertelności - float immortalityDuration = 1.5f; // Czas trwania nieśmiertelności (w sekundach) + float immortalityDuration = 1.5f; // Czas trwania nieśmiertelności w sec }; diff --git a/headers/Wiazkowiec.h b/headers/Wiazkowiec.h index 1c1fe64..933e86d 100644 --- a/headers/Wiazkowiec.h +++ b/headers/Wiazkowiec.h @@ -44,11 +44,9 @@ private: bool alive = true; DirectionW direction = DirectionW::Down; Beam beam; // Wiązka - bool shooting = false; // Czy obecnie strzela - sf::Clock shootingClock; // Zegar kontrolujący czas strzału - float beamDuration = 1.0f; // Czas trwania widoczności wiązki (w sekundach) - float mapWidth; // Szerokość mapy/planszy - float mapHeight; + bool shooting = false; + sf::Clock shootingClock; + float beamDuration = 1.0f; void spawnBeam(); // Tworzy wiązkę }; diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index 0a7f4a4..d16135a 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -700,7 +700,6 @@ void Plansza::spawn_wiazkowiec() { int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50); Wiazkowiec wiazkowiec(spawnX, -50, WiazkowiecTexture); wiazkowiec.setPlanszaHeight(size.height); // Przekazanie wysokości okna - wiazkowiec.setMapBounds(size.width, size.height); WEnemies.push_back(wiazkowiec); std::cout << "Spawned Wiazkowiec Enemy at X: " << spawnX << std::endl; WiazkowiecSpawnClock.restart(); diff --git a/sources/Wiazkowiec.cpp b/sources/Wiazkowiec.cpp index 954dd2b..4e3d7d3 100644 --- a/sources/Wiazkowiec.cpp +++ b/sources/Wiazkowiec.cpp @@ -17,11 +17,6 @@ void Wiazkowiec::setPlanszaHeight(float height) { planszaHeight = height; } -void Wiazkowiec::setMapBounds(float width, float height) { - mapWidth = width; - mapHeight = height; -} - void Wiazkowiec::spawnBeam() { float beamX = position.x; float beamY = position.y; @@ -89,23 +84,22 @@ void Wiazkowiec::setRandomDirection() { } void Wiazkowiec::updateDirection() { - auto spriteBounds = actorSprite.getGlobalBounds(); - - // Kontrola dolnej i górnej krawędzi + // Zmieniamy kierunek przeciwnika, gdy dotrze do krawędzi if (position.y <= 0) { direction = DirectionW::Down; - } else if (position.y + spriteBounds.height >= mapHeight) { + } else if (position.y >= 800) { direction = DirectionW::Up; } - // Kontrola lewej i prawej krawędzi + // logika dla kierunku lewo/prawo if (position.x <= 0) { direction = DirectionW::Right; - } else if (position.x + spriteBounds.width >= mapWidth) { + } else if (position.x >= 1200) { direction = DirectionW::Left; } } + void Wiazkowiec::move(float deltaX, float deltaY) { actorSprite.move(deltaX, deltaY); position.x += static_cast(deltaX); @@ -130,16 +124,16 @@ void Wiazkowiec::update() { switch (direction) { case DirectionW::Up: - if (position.y > 0) moveUp(); + moveUp(); break; case DirectionW::Down: - if (position.y + actorSprite.getGlobalBounds().height < mapHeight) moveDown(); + moveDown(); break; case DirectionW::Left: - if (position.x > 0) moveLeft(); + moveLeft(); break; case DirectionW::Right: - if (position.x + actorSprite.getGlobalBounds().width < mapWidth) moveRight(); + moveRight(); break; }