This is pretty neat, I second the request for a scoring system. I looked over the code and managed to shrink it by around 40 chars by changing the drawing functions and using a couple shorthand methods, is that enough to let you add one?
q={}r=rnd::z::x=20y=20h=0v=0g=0m=0::_::l=line?'⁶1⁶cc'
memset(27136,17,⧗)for i=30,45do
l(0,i,75-i,i,4+i%2)end
x+=h*g
y+=v*g
v+=g/9f=.88+sgn(40-y)/9h*=f
v*=f
if btnp()>0do
if(g<1)h=1+r()
g=1v-=1.5end
if(r()<.03)add(q,{x=-4,y=60+r(60),c=r(5)})
d=4for o in all(q)do?'|³d●',o.x-4,o.y-2,o.c+8
o.x+=r()if d>abs(o.x-x)+abs(o.y-y)do
o.x=x+1o.y=y
d=0end
if(o.y<40)del(q,o)end
m=max(m,y)circ(x,y,1,7)l(11,29,20,20)l(x,min(40,y),5)l(x,y)
if(m>40and y<40)goto z
goto _