like a swarm
set display mode 1680,1050,32
sync on : sync rate 60
dim hx#(100)
dim vy#(100)
dim hxa#(100)
dim vya#(100)
for f=0 to 100:hxa#(f)=15.0:vya#(f)=15.0:hx#(f)=rnd(1500):vy#(f)=rnd(900):next f
a=rnd(1680)
b=rnd(1050)
af=1
bf=1
`````````````````````````````````
do
cls
gosub ball
ink rgb(0,233,0)
for f=0 to 2
if hx#(f)<a
hxa#(f)=hxa#(f)*1.007
if hxa#(f)>22.0 then hxa#(f)=22.0
else
hxa#(f)=hxa#(f)*0.99
if hxa#(f)<8.0 then hxa#(f)=8.0
endif
`````````````````````````
if vy#(f)<b
vya#(f)=vya#(f)*1.007
if vya#(f)>24.0 then vya#(f)=24.0
else
vya#(f)=vya#(f)*0.99
if vya#(f)<7.0 then vya#(f)=7.0
endif
h#=vya#(f)-15.0
vy#(f)=vy#(f)+h#
h#=hxa#(f)-15.0
hx#(f)=hx#(f)+h#
box hx#(f),vy#(f),hx#(f)+5,vy#(f)+5
next f
sync
loop
ball:
a=a+af
b=b+bf
if a>1579 then af=-1-rnd(2):a=1579
if b>949 then bf=-1-rnd(2):b=949
if a<110 then af=1+rnd(2):a=110
if b<110 then bf=1+rnd(2):b=110
ink rgb(0,233,255)
``box a,b,a+5,b+5
inc d1:if d1>30 then d1=1
if d1<10 then text a,b,"O"
if d1<20 then text a,b,"o"
if d1<30 then text a-1,b+1,"*"
return
Or,even....
set display mode 1680,1050,32
sync on : sync rate 60
make object sphere 1,30
scale object 1,100,100,10
make object cube 2,3
hide object 2
for f=100 to 200
make object cone f,30
scale object f,55,75,55
rotate object f,90,0,90
fix object pivot f
color object f,rgb(0,255,100)
next f
set ambient light 30
dim hx#(100)
dim vy#(100)
dim hxa#(100)
dim vya#(100)
dim vvf#(100)
dim vvd#(100)
for f=0 to 100:hxa#(f)=15.0:vya#(f)=15.0:hx#(f)=rnd(1500):vy#(f)=rnd(900)
a$="0.9"+str$(1+rnd(96)):vvf#(f)=val(a$)
a$="1.00"+str$(21+rnd(46)):vvd#(f)=val(a$)
next f
a=rnd(1680)
b=rnd(1050)
af=1
bf=1
position camera 0,0,-100
point camera 0,0,0
color backdrop 0
up#=90.0
down#=270.0
`````````````````````````````````
do
gosub ball
for f=1 to 8
if hx#(f)<a
hxa#(f)=hxa#(f)*vvd#(f)
if hxa#(f)>22.0 then hxa#(f)=22.0
else
hxa#(f)=hxa#(f)*vvf#(f)
if hxa#(f)<10.0 then hxa#(f)=10.0
endif
`````````````````````````
if vy#(f)<b
vya#(f)=vya#(f)*1.007
if vya#(f)>20.0 then vya#(f)=20.0
else
vya#(f)=vya#(f)*vvf#(f)
if vya#(f)<9.0 then vya#(f)=9.0
endif
position object f+100,hx#(f)-840,525-vy#(f),800
v#=vya#(f)-15.0
vy#(f)=vy#(f)+v#
h#=hxa#(f)-15.0
hx#(f)=hx#(f)+h#
hh#=hx#(f)-840
vv#=525-vy#(f)
POINT OBJECT f+100,hh#,vv#,800
next f
sync
loop
ball:
a=a+af
b=b+bf
if a>1579 then af=-1-rnd(7):a=1579
if b>949 then bf=-1-rnd(8):b=949
if a<110 then af=1+rnd(5):a=110
if b<110 then bf=1+rnd(5):b=110
hh3#=a-840
vv3#=525-b
position object 1,hh3#,vv3#,800
return