ohh!! I get it, sort of like a brick attack deal, when it hits the wall it bounces off!
Say we have the following:
BallVector(0,3,0) <-- hit's a wall at the bottom
if (ball_hits_a_wall)
give the vector a random X and/or Z value between the values X and Y.. (this assures it doesn't just change directions)
Invert BallVector.
move it.