Pong - problems with boundary check

looks suspicious

Why not

+= (xSpeed * xDirection);