set display mode 1920,1080,32
sync on :sync rate 70
autocam off
sz#=100.0
sz2#=90.0
sz3#=20.0
f#=360.6
wt=1
u#=0.6
`````````````````````````````````
do
if wt>0 then dec wt:goto top
x#=960+sz#*sin(f#)
y#=540+sz#*cos(f#)
if v=2 or v=3
ink rgb(0,200,0)
box x#,y#,x#+2,y#+2
endif
a#=x#+sz2#*sin(f#*t)
b#=y#+sz2#*cos(f#*t)
ink rgb(0,110,200)
if v=2 or v=0
if a1#>0.0 then ligne(a1#,b1#,a#,b#)
a1#=a#:b1#=b#
endif
c#=a#+sz3#*sin(f#*t2)
d#=b#+sz3#*cos(f#*t2)
if v=3
ink rgb(110,110,110)
if c2#>0.0 then ligne(c#,d#,c2#,d2#)
c2#=c#:d2#=d#
endif
n#=c#+sz4#*sin(f#*t3)
m#=d#+sz4#*cos(f#*t3)
if v=4 or v=1
ink rgb(110,0,210)
if n2#>0.0 then ligne(n#,m#,n2#,m2#)
n2#=n#:m2#=m#
endif
``````````````````````````````````````````
f#=f#+u#:if f#>361.0
f#=0.0:wt=130+rnd(20)
t=3+rnd(20)
sz#=50+rnd(200)
sz2#=50+rnd(200)
sz3#=(sz2#*0.25)+rnd(10)
sz4#=(sz3#*0.25)+rnd(10)
t2=t*6+(rnd(6))
t3=t2*3+(rnd(6))
n2#=0.0
delay=0
a1#=0.0:b1#=0.0
c2#=0.0
a$="0.2"+str$(rnd(999))
u#=val(a$)
v=rnd(4)
if v=4 or v=0 then u#=u#*0.333
endif
top:
if wt=1 then cls
inc delay
ink rgb(0,200,0)
ttt:
if inkey$()=" " then goto ttt
sync
loop
`````````````````````````````````````
````````````````````````````````````````
````````````````````````````````````
function ligne(ax,ay,bx,by)
`inc bx,20
`inc by,20
dx# = abs(ax-bx) : dy# = abs(ay-by)
if dx# > dy# then u# = 1.0/dx# else u# = 1.0/dy#
u#=u#*2.0
for t# =0.0 to 1.0 step u#
x1# = (1.0-t#)*ax + t#*bx
y1# = (1.0-t#)*ay + t#*by
x = x1# + x1# - int(x1#)
y = y1# + y1# - int(y1#)
box x,y,x+2,y+2
next t#
endfunction