# Pong Help

This is a discussion on Pong Help within the General AI Programming forums, part of the Cprogramming.com and AIHorizon.com's Artificial Intelligence Boards category; I Can't seem to figure out how to make the computer pong AI actually beatable. Code: Computer.y=Ball.y; if(Computer.y>2.87){ Computer.y=2.87f; } ...

1. ## Pong Help

I Can't seem to figure out how to make the computer pong AI actually beatable.
Code:
```	Computer.y=Ball.y;

if(Computer.y>2.87){
Computer.y=2.87f;
}
if(Computer.y<-3.62){
Computer.y=-3.62f;
}```
Thats pretty much my AI right there. Only problem is that it never actually loses. I tried some other variations like if its lower or higher then move it up or down .01f; with some random movement but that doesn't help.

SO how do I balance out the AI?

Also if you need my entire coding just ask

Thanks for reading, hope to hear from you soon

2. Well you're making it track the ball all the time, so obviously the bat will always meet the ball.

Suggestions
- limit the lateral acceleration of the computer bat.
- only track the ball position when the ball is on the computer side of the net (otherwise just move randomly). For more realism, pick a random point past the net to mimic reaction times.

3. Thanks I just limited the lateral acceleration and I made it only follow the ball when its on a random point near its side of the field.

Code:
```	if(Ball.x<=-((rand()%100+1)/1000)){
if(Computer.y<Ball.y){
Computer.y+=.005f;
}
if(Computer.y>Ball.y){
Computer.y-=.005f;
}
if(Computer.y>2.87){
Computer.y=2.87f;
}
if(Computer.y<-3.62){
Computer.y=-3.62f;
}
}```