DBPro.
OK - I went 12 lines over..... I lose. But what the hell - it's Pong that plays itself. AI on both paddles!
sync on:sync rate 50:hide mouse:backdrop on:make object box 1,20,60,20:set object collision on 1:color object 1,rgb(255,0,0):make object box 2,20,60,20:set object collision on 2:color object 2,rgb(0,255,0):make object sphere 3,10:set object collision on 3:color object 3,rgb(255,0,0):make object box 4,500,20,300:set object collision on 4:color object 4,rgb(255,0,255):make object box 5,500,20,300:set object collision on 5:color object 4,rgb(100,100,0):make object box 6,500,300,20:color object 6,rgb(0,0,255):position object 4,0,-150,0:position object 5,0,150,0:position object 6,0,0,300:position object 1,-180,0,100
position object 2,180,0,100:position object 3,0,0,150:set ambient light 30:make light 1:set point light 1,0,0,0:set light range 1,200:make camera 1:position camera 1,0,0,-500:color backdrop 1,rgb(0,0,0)
newgame::level=1:pscore=0:cscore=0:pv#=3.5:cv#=3.5:bv#=12
restart::randomize timer():wait 1000:py#=-40+rnd(80):cy#=-40+rnd(80):bx#=0 :by#=0 :bd#=rnd(10)/2+15:do:bx#=bx#+bv#*cos(bd#):by#=by#+bv#*sin(bd#)
if by#>140:by#=by#-10:bd#=bd#*-1:endif
if by#<-140:by#=by#+10:bd#=bd#*-1:endif
if object collision (3,0)=1:bv#=bv#*-1:bx#=bx#+20+(level*3):po#=by#-py#:bd#=po#*1.5:endif
if object collision (3,0)=2:bv#=bv#*-1:bx#=bx#-20-(level*3):co#=by#-cy#:bd#=co#*1.5:endif:position object 3,bx#,by#,100
if bv#<0
if cy#>2 then a#=-cv#
if cy#<2 then a#=cv#
if cy#<=2 and cy#>=-2 then a#=0
cy#=cy#+a#
endif
if bv#>0
if by#>cy# then a#=cv#
if by#<cy# then a#=-cv#
cy#=cy#+a#
endif:position object 2,180,cy#,100
if bv#>0
if py#>2 then b#=-pv#
if py#<2 then b#=pv#
if py#<=2 and py#>=-2 then b#=0
py#=py#+b#
endif
if bv#<0
if by#>py# then b#=pv#
if by#<py# then b#=-pv#
py#=py#+b#
endif:position object 1,-180,py#,100
if object position x(3) < -250:cscore=cscore+1:vb#=vb#*-1: goto restart:endif
if object position x(3) > 250:pscore = pscore +1:goto restart:endif:text 300,0,"Lazypong!":text 300,230,str$(pscore)+" : "+str$(cscore):point camera 1,0,0,0:sync:loop