SCREEN 280,200,32,2
määrä=3
Dim pallot(määrä,4) As Float
Dim paletti(255)
For i=0 To 255
b=i*0.9+0.1*255
If b<0 Then b=0
'Color Sin(i*2)*i/2+127,Sin(i*3)*i/2+127,Sin(b*4)*i/2+127
Color (i/16.0)^2,(i/16.0)^2,(Sin(i/2.833)*255/16)^2
Dot 0,0
paletti(i)=GetPixel(0,0,SCREEN())
Next i
For i=1 To määrä
pallot(i,1)=Rand(300)
pallot(i,2)=Rand(225)
pallot(i,3)=Rnd(-6,6)
pallot(i,4)=Rnd(-6,6)
pallot(i,0)=Rand(15,25)
Next i
Cls
Repeat
SetWindow Str(FPS())+" "+(Timer()-aika)
aika=Timer()
For i=1 To määrä
pallot(i,1)=pallot(i,1)+pallot(i,3)
pallot(i,2)=pallot(i,2)+pallot(i,4)
pallot(i,3)=pallot(i,3)+Rnd(-0.5,0.5):If Abs(pallot(i,3))>3 Then pallot(i,3)=pallot(i,3) *0.9
pallot(i,4)=pallot(i,4)+Rnd(-0.5,0.5):If Abs(pallot(i,4))>3 Then pallot(i,4)=pallot(i,4) *0.9
If pallot(i,1)<0 Then pallot(i,3)=Abs(pallot(i,3))
If pallot(i,1)>280 Then pallot(i,3)=-Abs(pallot(i,3))
If pallot(i,2)<0 Then pallot(i,4)=Abs(pallot(i,4))
If pallot(i,2)>200 Then pallot(i,4)=-abs(pallot(i,4))
Next i
Lock SCREEN()
For x=0 To 280
v+1:If v=2 Then v=0
For y=v To 199 Step 2
arvo=0
For i=1 To määrä
arvo=arvo+(pallot(i,0)Shl 8)/Distance(x,y,pallot(i,1),pallot(i,2))
Next i
If arvo>255 Then arvo=255
PutPixel2 x,y, paletti(arvo)
Next y
Next x
Unlock
DrawScreen OFF
Forever