All pastes #898860 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-02-10 18:00 UTC
rendered paste body
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;
		}
	}
}