diff --git a/headers/Wiazkowiec.h b/headers/Wiazkowiec.h index c0c0ec2..ba7f449 100644 --- a/headers/Wiazkowiec.h +++ b/headers/Wiazkowiec.h @@ -29,7 +29,7 @@ public: bool isAlive() const; void takeDamage(); - void updateDirection(); + void checkIfBeamShootOutOfBounds(); bool isShooting() const; const Beam* getBeam() const; void setPlanszaHeight(float height, float width); diff --git a/sources/Wiazkowiec.cpp b/sources/Wiazkowiec.cpp index f21f28e..511f36a 100644 --- a/sources/Wiazkowiec.cpp +++ b/sources/Wiazkowiec.cpp @@ -1,8 +1,8 @@ #include "../headers/Wiazkowiec.h" +#include "../headers/Plansza.h" +#include "../headers/RandomNumberGenerator.h" #include -#include -#include "../headers/Plansza.h" Wiazkowiec::Wiazkowiec(int x, int y, const sf::Texture &texture) : Actor(x, y, texture), @@ -49,7 +49,6 @@ void Wiazkowiec::spawnBeam() { break; } - // beam = Beam(beamX, beamY, beamWidth, beamHeight, sf::Color::Red); beam->setVisible(true); shooting = true; @@ -67,7 +66,7 @@ void Wiazkowiec::shoot() { void Wiazkowiec::setRandomDirection() { // Losowanie kierunku: 0 = Up, 1 = Down, 2 = Left, 3 = Right - switch (std::rand() % 4) { + switch (RandomNumberGenerator::getRandomNumber(0, 3)) { case 0: direction = DirectionW::Up; break; @@ -85,7 +84,7 @@ void Wiazkowiec::setRandomDirection() { } } -void Wiazkowiec::updateDirection() { +void Wiazkowiec::checkIfBeamShootOutOfBounds() { auto spriteBounds = actorSprite.getGlobalBounds(); // Pobierz rozmiar i pozycję sprite'a // Kontrola górnej i dolnej krawędzi @@ -140,7 +139,7 @@ void Wiazkowiec::update() { setRandomDirection(); // Zmień kierunek po strzale } } else { - updateDirection(); + checkIfBeamShootOutOfBounds(); switch (direction) { case DirectionW::Up: