1. ## Position problem.

Solved

Solution:
Code:
`if(BallCurrentLocation->y >= Player1CurrentLocation->y && BallCurrentLocation->y <= SizeBat)`
Hello Everybody,

I write a Pong game. Now I have a little problem with validating the position of the ball. This is the situation:

I made the basic algorithm that moves the ball to the left and the right of the screen when it hits the left/right side of the screen, is works fine. But now i try to include the option: "when the ball hits a players bat change direction". what i made seems to work but i discovered that is doesn't work 100% because sometimes the ball bounces back when the ball misses the players bat.

schema of my screen, see improvised images: http://static.tz.nl/f/g/47234_4053113b.jpeg

so check if the ball hits a players bat i have:

- y,x position on both bats.
- height of both bats.
- width of the ball.

I question is,how can I check with a if statement, if the ball hits a bat or not:

this my code snippet:
Code:
```.....
if(BallCurrentLocation->x < (Player2CurrentLocation->x - this->ObjBall->ReturnBallWidth()))
{
BallCurrentLocation->x++;
}
else
{
SizeBat = Player2CurrentLocation->y + Player2->ReturnBatHeigth();
if(BallCurrentLocation->y == Player2CurrentLocation->y || BallCurrentLocation->y <= SizeBat)
{
this->Balldirection= true;
}
else
{
BallCurrentLocation->x++;

if(BallCurrentLocation->x == this->ReturnWindowWidth() - this->ObjBall->ReturnBallWidth())
{
Gamestate = false;
}
}
.....```
explanation of code:

first if the ball x position doesn't match the players bat, i moves the ball, but when the ball x position matches the x position of the ball if looks if the position of the ball is between the bat y position + the bats height (because the the bat position is the top of the bat ofcourse). if that is true change direction.

Can you Folks see if this is a correct algorithm, and haves no logical leaks?

Thanks for helping,

Jelte.

EDIT:

I think this statements stinks.
Code:
`if(BallCurrentLocation->y == Player2CurrentLocation->y || BallCurrentLocation->y <= SizeBat)`
I Also discovered that the "bug" (so the ball bounces back but i doesn't hit the players bat) only happens when the bat are "under the ball" so the players bat x position is larger then then ball x position)