diff --git a/src/Physics.cpp b/src/Physics.cpp index 77a3196..0dccd2a 100644 --- a/src/Physics.cpp +++ b/src/Physics.cpp @@ -16,31 +16,20 @@ sf::Vector2f getOverlap(const sf::FloatRect first, const sf::FloatRect second) sf::Vector2f velocityInRandomDir(const float speed_in) { - const bool upOrDown{(bool)Random::get(0,1)}; const bool leftOrRight{(bool)Random::get(0,1)}; // get angle within certain ranges so that the ball does not // start moving straight side to side or up and down - if (upOrDown && leftOrRight) - {// up left + if (leftOrRight) + {// left const sf::Angle angle = sf::degrees((float)Random::get(220, 255)); return sf::Vector2f{speed_in * std::cos(angle.asRadians()), speed_in * std::sin(angle.asRadians())}; } - else if (upOrDown && !leftOrRight) - {// up right + else if (!leftOrRight) + {// right const sf::Angle angle = sf::degrees((float)Random::get(285, 315)); return sf::Vector2f{speed_in * std::cos(angle.asRadians()), speed_in * std::sin(angle.asRadians())}; } - else if (!upOrDown && leftOrRight) - {// down left - const sf::Angle angle = sf::degrees((float)Random::get(105, 130)); - return sf::Vector2f{speed_in * std::cos(angle.asRadians()), speed_in * std::sin(angle.asRadians())}; - } - else if (!upOrDown && !leftOrRight) - {// down right - const sf::Angle angle = sf::degrees((float)Random::get(30, 75)); - return sf::Vector2f{speed_in * std::cos(angle.asRadians()), speed_in * std::sin(angle.asRadians())}; - } return {0,0};// means something went wrong }