Hmm, this probably isn't the best answer to the problem but I'd just use Gosub to go back up to the top, some variables may need to be seperated like the score though. So:
`sync stuff
sync on
sync rate 0
`random
randomize timer()
`Hide mouse
hide mouse
`autocam
autocam off
`make top
Make object box 1,30,1,1
color object 1,rgb(100,200,0)
make object collision box 1,-15,-.5,-.5,15,.5,.5,0
`make sides
make object box 2,1,24,1
make object collision box 2,-.5,-12,-.5,.5,12,.5,0
color object 2,rgb(100,200,0)
Position object 2,-15,-11.5,0
make object box 3,1,24,1
make object collision box 3,-.5,-12,-.5,.5,12,.5,0
color object 3,rgb(100,200,0)
Position object 3,15,-11.5,0
`make invisable barrior
Make object box 6,30,1,1
hide object 6
`color object 1,rgb(100,200,0)
make object collision box 6,-15,-.5,-.5,15,.5,.5,0
position object 6,0,-25,0
`Make Player
make object box 4,6,1,1
make object collision box 4,-3,-.5,-.5,3,.5,.5,0
color object 4,rgb(0,0,255)
`player position variables
plx#=object position x(1)
ply#=object position y(1)
plz#=object position z(1)
`Make ball
make object sphere 5,.8
make object collision box 5,-.4,-.4,-.4,.4,.4,.4,0
`Default Variables
score#=0
Reset:
`Ball variables
bx#=0
by#=-12
bsy#=.05
bsx#=.05
`player variables
pl1x#=0
pl1y#=-23
plsx#=0
pls#=.3
mover#=0
movel#=0
colidey#=0
colidex#=0
x#=.06
rndvar#=rnd(.003)
Return
`main loop
do
`score
set cursor 10,2
print "Score ";score#
`Position player
position object 4,pl1x#,pl1y#,0
`position ball
position object 5,bx#,by#,0
`start ball
bx#=bx#+bsx#
by#=by#+bsy#
`Deflection
if object collision(5,1)>0
bsy#=0-x#
endif
if object collision(5,3)>0
bsx#=0-x#
endif
if object collision(5,2)>0
bsx#=x#
endif
if object collision(5,4)>0
inc x#,.004+rndvar#
inc score#
bsy#=x#
endif
`Stop player
if object collision(4,2)>0
movel#=1
else
movel#=0
endif
if object collision(4,3)>0
mover#=1
else
mover#=0
endif
`Check if out of bounds
If by# < -25
Goto Reset
EndIf
`controls
if rightkey()=1 and mover#=0
pl1x#=pl1x#+pls#
endif
if leftkey()=1 and movel#=0
pl1x#=pl1x#-pls#
endif
`Position camera
position camera plx#,ply#-11,plz#-24
`backdrop
color backdrop 0
`sync and loop
sync
loop
Will work. This is what I did:
-Added Reset Label up the Top
-Put the Default Score varaible above reset label
-Created an out of bounds collision below 'Stop Player'
There you go, again, it's probably not the best thing to do because I'm still quite new. But it works.
I'm guessing that you're getting 3 points because essentially the ball's hitting the paddle in 3 different places everytime they collide. Not sure how to get around that one. That's a pretty good game, well done.
"Computers are useless they can only give you answers."