From 197a3bcfd501d0ed50e78a974cffcfa54f48e395 Mon Sep 17 00:00:00 2001 From: Joseph Aquino Date: Tue, 2 Dec 2025 09:05:40 -0500 Subject: [PATCH] simplify velocityInRandomDIr() --- src/Physics.cpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) 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 }