Pong: paddle movement problems, logic issue

Thanks Ray I appreciate your help,

I was about to post the below info but I just saw you posted some more questions I'll answer your newest questions up here.
There is currently no limit for the paddles yet, I haven't implemented any yet. But if I press down button repeatedly it will continue to move down and off the screen. Its something that will need to be implemented eventually.

Bellow are the answers to the first questions you posted. Thanks!

Here's a description of the project, I made a large LED display using 6 MAX7219 LED driver chips. Its 16 LEDs tall and 24 LED's across. I connected a Bluetooth module on the Arduino, this part works as I'm able to move the paddles. The paddles are 3 LED's tall and I need them to be able to travel to the top and to the bottom of the column.

The problem: with the current code the paddles can move down to the bottom of the column but they do not move up past a certain point. The diagram below shows the starting state of the paddle when the program is turned on.

0
0
0
0
0
0 < ----Paddle doesn't show up here ever.
1 <---- Highest point the paddle will travel in this column
1

1
0
0
0
0
0
0
0 <-----Paddle can show up here

From this point I can press the down button and the paddle will move down. Now when the paddle is at the above position and I were to press the up button 3 times (increasing paddle1Val 3 times) the paddle will stay in this position, but it will take 4 down button presses before the paddle will move down.

Here's some extra information that I'm not sure will help or not but the Bluetooth controller on my phone receives data after I press the up or down button, I believe it is receiving the current value of paddle1Val after the button is pressed. Using the start position of the paddle when the program is turned on and pressing the up button 3 times the following data is received:
0
-1
-2

  1. In the code pong[0] represents the bottom left column, pong[1] represents the top left column. If you look in the code bellow there is an array for the display call pong[ ], remember my physical display is 16 x 24 so the one in pong[ ] is turn 90 degrees clockwise.

so for pong[0] is set to B00000001 the following led would light up

0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0

  1. Yes, I'm using a 3 bit paddle. I was using 1's to represent LED's that are turned on and 0 for LED's that are turned off.
  2. See above description