If there is a problem with the ball moving off and the score not being updated then the error is most likely in your ballInPlay() function - because if that returns false the score will not change.
Alternatively there may be some problem with
if (ball_X > table.ball_x_max) {
score_computer++;
displayScore();
} else if (ball_X < BALL_X_MIN) {
score_plyer++;
displayScore();
as you seem to have table.ball_x_max and BALL_X_MIN - did you maybe mean table.ball_x_min?