void Ball::CollisionPaddle(Paddle &paddle) { if(m_x + BALL_DIAMETER > paddle.GetX() && m_x < paddle.GetX() + paddle.GetWidth()) { if(m_y + BALL_DIAMETER > paddle.GetY() && m_y < paddle.GetY()+PADDLE_HEIGHT) { //collision // *= 1.2? to increase game speed as time increases m_yvel *= -1; float ballOffsetToPaddle = m_x - (paddle.GetX() + paddle.GetWidth()/2); if(ballOffsetToPaddle >= 0) { if(m_xvel < 0) { m_xvel *= -1; m_bounces++; } } else if(ballOffsetToPaddle < 0) { if(m_xvel > 0) { m_xvel *= -1; m_bounces++; } } if(m_xvel == 0) m_xvel = 1; } } }