Microsoft Small Basic

Program Listing: RXS477
initialiseren()
While "true"
'GraphicsWindow.Clear()
teken()
Program.Delay(1)
EndWhile

Sub initialiseren
GraphicsWindow.width=300
GraphicsWindow.height=300

'je kunt het aantal punten hieronder aanpassen
aantal=10

for teller=1 To aantal
hoek[teller]=math.GetRandomNumber(360)
v[teller]=math.GetRandomNumber(5)+2
x[teller]=100+math.GetRandomNumber(200)
y[teller]=100+math.GetRandomNumber(200)
endfor
endsub

Sub teken
'pas de coordinaten aan
for teller=1 To aantal
hoek[teller]=hoek[teller]+Math.GetRandomNumber(5)-3
'[teller]=v[teller]+math.GetRandomNumber(3)-2
If v[teller]<2 then
v[teller]=2
endif
x[teller]=x[teller]+v[teller]*Math.Cos(Math.GetRadians(hoek[teller]))
y[teller]=y[teller]+v[teller]*Math.sin(Math.GetRadians(hoek[teller]))
'reflector
If (x[teller]<0) Or (y[teller]<0) Or (x[teller]>300) Or y[teller]>300 Then
hoek[teller]=hoek[teller]+180
endif



endfor


For teller=1 To aantal
GraphicsWindow.SetPixel(x[teller],y[teller], "black")
endfor

endsub