Bubbloids!!! (dbpro)
randomize timer():autocam off:hide mouse:sync on:sync rate 60:dim b(20):dim bx#(20):dim by#(20):dim ba#(20):ink rgb(200,0,0),0:for x=0 to 11:line x+100,100,x+200,300:line x+100,100,x+0,300:line x+0,300,x+100,200:line x+200,300,x+100,200:next x:get image 1,0,100,211,300:make object plain 1,10,15:texture object 1,1:set object 1,1,1,1,2,0,1:color backdrop 0:position camera 0,0,-150:dim s(20):for z=101 to 120:make object sphere z,rnd(20)+10
color object z,rgb(0,150,250):ghost object on z:gosub random:rotate object z,rnd(359),90,0:s(z-99)=rnd(4)+1:next z:sc=0:do:os=s:if youdead>0:youdead=youdead-1:endif:if spacekey() and dead=1 and youdead=0:aa#=0:x#=0:y#=0:a#=0:dead=0:sc=0:endif:if spacekey() and dead=0:s=1:else:s=0:endif
if s=1 and os=0:for z=1 to 20:if b(z)=0:b(z)=1:bx#(z)=x#+cos(aa#+90)*6:by#(z)=y#+sin(aa#+90)*6:ba#(z)=aa#:make object sphere z+10,3:goto leave:endif:next z
leave:
endif:if upkey() and dead=0:xx#=xx#+cos(aa#+90)*.15:yy#=yy#+sin(aa#+90)*.15:else:m#=0:endif:if rightkey() and dead=0:a#=a#-1:endif:if leftkey() and dead=0:a#=a#+1:endif:a#=a#/1.2:aa#=wrapvalue(aa#+a#):zrotate object 1,aa#:xx#=xx#/1.02:yy#=yy#/1.02:x#=x#+xx#:y#=y#+yy#:if abs(x#)>130:x#=x#*-1:endif:if abs(y#)>100:y#=y#*-1
endif:for z=1 to 20:if b(z)=1:bx#(z)=bx#(z)+cos(ba#(z)+90)*2:by#(z)=by#(z)+sin(ba#(z)+90)*2:position object z+10,bx#(z),by#(z),0:if object collision(z+10,0)>=101 and object collision(z+10,0)<=120:oz=z:z=object collision(z+10,0):gosub random:z=oz:sc=sc+1:endif:if object in screen(z+10)=0:delete object z+10:b(z)=0:endif:endif:next z:for z=101 to 120:if object exist(z):move object z,s(z-99)*.1:if abs(object position x(z))>150:position object z,object position x(z)*-.9,object position y(z),0:endif
if abs(object position y(z))>120:position object z,object position x(z),object position y(z)*-.9,0:endif:if object collision(z,1)=1 and dead=0:dead=1:youdead=50:endif:if dead=1:set cursor 280,240:print "You Died!":endif:endif:next z:position object 1,x#,y#,0:set cursor 0,0:print "Score: ",sc:sync
loop
random:
p=rnd(3)+1:if p=1:x=rnd(260)-130:y=-100:endif:if p=2:x=rnd(260)-130:y=100:endif:if p=3:y=rnd(200)-100:x=-130:endif:if p=4:y=rnd(200)-100:x=130:endif:position object z,x,y,0:return