I changed the code to what I think is logical and it still isn't working... so any ideas are apprecitated! Thanks again in advance
SET WINDOW ON
SET WINDOW SIZE 640, 480
SET WINDOW TITLE "Paddle Ball"
SYNC ON
SYNC RATE 30
REM Make variables for the paddle
MOVEMENTRATE = 12
PADDLEXBOTTOM = 240
PADDLEYBOTTOM = 36
PADDLEX = SCREEN WIDTH() * (1/2)
PADDLEY = SCREEN HEIGHT() - PADDLEYBOTTOM
REM Ball veriables
BALLLOCATIONX = 0
BALLLOCATIONY = 0
BALLX = 24
BALLY = 24
OLDBALLX = 0
OLDBALLY = 0
REM Ball Speed
BALLMOVERATE = 6
REM BALLSTATES ARE 1 INC INC 2 DEC DEC 3 INC DEC 4 DEC INC
BALLSTATE = 1
REM Make our background
LOAD BITMAP "background.bmp"
SET CURRENT BITMAP 0
REM Get the paddle image and create a paddle sprite
LOAD BITMAP "paddle.bmp",1
GET IMAGE 1,0,0,240,36
SPRITE 1,PADDLEX,PADDLEY,1
SET SPRITE 1,1,1
REM Get the ball image and create a ball sprite
LOAD BITMAP "ball.bmp",2
GET IMAGE 2,0,0,BALLX,BALLY
SPRITE 2,BALLLOCATIONX,BALLLOCATIONY,2
DO
GOSUB PlayerControls
GOSUB MoveBall
SYNC
LOOP
DELETE SPRITE 1
DELETE IMAGE 1
DELETE SPRITE 2
DELETE IMAGE 2
END
PlayerControls:
IF LEFTKEY() = 1 THEN PADDLEX = PADDLEX - MOVEMENTRATE
IF RIGHTKEY() = 1 THEN PADDLEX = PADDLEX + MOVEMENTRATE
IF X < 0 THEN X = 0
IF X > (SCREEN WIDTH() - PADDLEXBOTTOM) THEN PADDLEX = SCREEN WIDTH() - PADDLEXBOTTOM
SPRITE 1,PADDLEX,PADDLEY,1
RETURN
MoveBall:
REM Detect Paddle hitting the ball
IF SPRITE HIT(1,2) > 0
IF BALLSTATE = 1 THEN BALLSTATE = 3
IF BALLSTATE = 3 THEN BALLSTATE = 1
IF BALLSTATE = 2 THEN BALLSTATE = 4
IF BALLSTATE = 4 THEN BALLSTATE = 2
ENDIF
REM Detect the ball leaving the screen over the x axis
IF BALLX > SCREEN WIDTH() OR BALLX < 0
IF BALLSTATE = 1 THEN BALLSTATE = 4
IF BALLSTATE = 4 THEN BALLSTATE = 1
IF BALLSTATE = 2 THEN BALLSTATE = 3
IF BALLSTATE = 3 THEN BALLSTATE = 2
ENDIF
REM Detect the ball leaving the screen over the y axis
IF BALLY > SCREEN HEIGHT() OR BALLY < 0
IF BALLSTATE = 2 THEN BALLSTATE = 1
IF BALLSTATE = 1 THEN BALLSTATE = 2
IF BALLSTATE = 3 THEN BALLSTATE = 4
IF BALLSTATE = 4 THEN BALLSTATE = 3
ENDIF
REM Ball states, on collision the state will change so the ball moves in the right direction
IF BALLSTATE = 1 THEN BALLX = BALLX + BALLMOVERATE : BALLY = BALLY + BALLMOVERATE
IF BALLSTATE = 2 THEN BALLX = BALLX - BALLMOVERATE : BALLY = BALLY - BALLMOVERATE
IF BALLSTATE = 3 THEN BALLX = BALLX + BALLMOVERATE : BALLY = BALLY - BALLMOVERATE
IF BALLSTATE = 4 THEN BALLX = BALLX - BALLMOVERATE : BALLY = BALLY + BALLMOVERATE
SPRITE 2,BALLX,BALLY,2
RETURN