diff --git a/Userland/Games/Breakout/Game.cpp b/Userland/Games/Breakout/Game.cpp index dea1c43390..5722194a5b 100644 --- a/Userland/Games/Breakout/Game.cpp +++ b/Userland/Games/Breakout/Game.cpp @@ -266,8 +266,10 @@ void Game::tick() update(enclosing_int_rect(new_ball.rect())); if (new_ball.rect().intersects(m_paddle.rect)) { - new_ball.position.set_y(m_ball.y()); - new_ball.velocity.set_y(new_ball.velocity.y() * -1); + if (m_ball.y() < new_ball.y()) { + new_ball.position.set_y(m_ball.y()); + } + new_ball.velocity.set_y(fabs(new_ball.velocity.y()) * -1); float distance_to_middle_of_paddle = new_ball.x() - m_paddle.rect.center().x(); float relative_impact_point = distance_to_middle_of_paddle / m_paddle.rect.width();