This was created with DBPro v6.3
Just a little program I made. Basically lots of circles spray out of an area and bounce on the bottom of the screen. You can make some pretty cool shapes! The instructions are on-screen. Try playing with the Bounce Percentage while the circles are moving around.
sync on
sync rate 120
randomize Timer()
backdrop on
set text font "Comic Sans MS"
set text size 14
CREATE BITMAP 1,10,10
for r = 1 to 5
circle 5,5,r
next r
blur bitmap 1,4
get image 1,0,0,10,10
delete bitmap 1
set display mode 640,480,32
MAX=700
DIM Circles#(MAX,6)
DIM Colors(MAX,1)
for c = 1 to MAX
Colors(c,1)=0
Circles#(c,1)=rnd(640)
Circles#(c,2)=999
Colors(c,1)=rgb(100+rnd(155),rnd(100),0)
next c
BP#=0.8
xs as float
zs as float
rx as float
ry as float
`xs=0.1*(1+rnd(19))
`ys=0.1*(1+rnd(19))
xs=2
ys=2
do
cls
if HIDE=0
ink rgb(255,255,255),0
text 0,20, "BOUNCY PERCENTAGE: "+str$(BP#*100,1)+"% (USE ARROW KEYS TO CHANGE)"
text 0,0,"PRESS SPACE TO CLEAR ALL CIRCLES. RIGHT-CLICK TO SWAP BETWEEN NORMAL AND AUTOMATIC CONTROL."
if USeMouse=0 then Control$="AUTOMATIC: Just watch." else Control$="NORMAL: Click and drag to make circles appear."
text 0,40,"CONTROL: "+Control$
text 0,60,"Press SHIFT to hide/show all this."
endif
if shiftkey() and shk=0 then Hide=Hide+1
if Hide>1 then Hide=0
shk=shiftkey()
BP#=BP#+0.01*(Upkey()-Downkey())
if BP#<0 then BP#=0
if BP#>1 then BP#=1
rem Circle Physics (Some of it isn't used...)
for c = 1 to MAX
if c<MAX and c>1
ink rgb(0,255,0),0
if Circles#(c+1,2)<460 then line Circles#(c,1),Circles#(c,2),Circles#(c+1,1),Circles#(c+1,2)
endif
Circles#(c,3)=Circles#(c,3)+0.1
if circles#(c,5)>0 then Circles#(c,5)=circles#(c,5)-0.1
if circles#(c,5)<0 then Circles#(c,5)=circles#(c,5)+0.1
ink Colors(c,1),0
Circles#(c,2)=Circles#(c,2)+Circles#(c,3)
Circles#(c,1)=Circles#(c,1)+circles#(c,5)
if circles#(c,1)>640 then Circles#(c,1)=640 : Circles#(c,5)=-BP#*Circles#(c,5)
if circles#(c,1)<0 then Circles#(c,1)=00 : Circles#(c,5)=-BP#*Circles#(c,5)
circle Circles#(c,1),Circles#(c,2),Circles#(c,6)
Circles#(c,6)=Circles#(c,6)-0
if circles#(c,6)<0 then Circles#(c,6)=0
if Circles#(c,2)>470 then Circles#(c,3)=-1*Circles#(c,3)*BP#
`if Circles#(c,2)<10 then Circles#(c,3)=-1*Circles#(c,3)*BP#
`if Circles#(c,3)<-0.5 and Circles#(c,3)>-1 then Circles#(c,3)=0
if circles#(c,2)>475 then Circles#(c,2)=475
next c
rx=rx+xs
ry=ry+ys
if rx>=640 or rx<=0then xs=xs*-1
if ry>=480 or ry<=0 then ys=ys*-1
if mouseclick()=2 and omc=0 then inc UseMouse
omc=mouseclick()
if UseMouse>1 then UseMouse=0
if UseMouse=1 then rx=mousex() : ry=mousey()
if UseMouse=0
cc=cc+1
Circles#(cc,1)=rx : circles#(cc,2)=ry : Circles#(cc,3)=0
circles#(cc,6)=5
`Circles#(cc,5)=xs
`Circles#(cc,3)=ys
else
if mouseclick()=1
cc=cc+1
Circles#(cc,1)=rx : circles#(cc,2)=ry : Circles#(cc,3)=0
circles#(cc,6)=5
`Circles#(cc,5)=xs
`Circles#(cc,3)=ys
endif
endif
remstart
if bob=0
ccc=ccc+1
Circles#(ccc,1)=320 : circles#(ccc,2)=460 : Circles#(ccc,3)=0
Circles#(ccc,5)=-1+rnd(2)
Circles#(ccc,3)=-5-rnd(5)
endif
if ccc>=Max+100 then ccc=MAX
if ccc<MAX then CcC=MAX
remend
if cc>=Max then cc=1
if spacekey()
for c = 1 to MAX+100
Circles#(c,2)=999 : Circles#(c,1)=320 : circles#(c,3)=0
next c
endif
sync
loop
PLEASE tell me what you think