You don't need to reverse the whole ball, just it's speed. You should be using variables to hold both the x and y (and z possibly) velocity and position of the ball. To make it easy for yourself you should be using axis aligned walls to bounce the ball off, so you just need to reverse the velocity in the direction of the wall from the ball. For example, if the ball is moving to the right towards a vertical wall, the direction from the ball to the wall is along the x axis, so you reverse the x velocity when it bounces.
Once I was but the learner,
now, I am the Master.