#define MAX 32
buffer 2,640,480
screen 0,640,480
dim bx,MAX
dim by,MAX
dim rad,MAX
repeat MAX
bx.cnt=320
by.cnt=240
loop
tx=rnd(640)
ty=rnd(480)
repeat MAX
rad.cnt=atan(tx-bx.0, ty-by.0)-6.28/MAX*cnt
loop
repeat
gsel 2,0
cls 4
await 100
color 255, 255, 255
repeat MAX
circle tx, ty, tx+16, ty+16, 1
circle bx.cnt, by.cnt, bx.cnt+16, by.cnt+16, 1
bx.cnt=bx.cnt+sin(rad.cnt)*10
by.cnt=by.cnt+cos(rad.cnt)*10
if abs(tx-bx.cnt)<16 and abs(ty-by.cnt)<16 or by.cnt>480 {
tx=rnd(640)
ty=rnd(480)
repeat MAX
bx.cnt=320
by.cnt=240
rad.cnt=atan(tx-bx.0, ty-by.0)-6.28/MAX*cnt
loop
}
loop
gsel 0,1
gcopy 2,0,0,640,480
loop
HSPの乱数は結構\偏る(気がする)と一般に言われてたり、デフォで整数しか扱えなずパターンが少なくなりがちなのが組み合わさって、散らばり具合が極端に地味になるのかも(数は出てても重なってたり)。
C言語使えるのならそっちにすれば良いんじゃないでしょうか?
浮動小数にしないといけないのは座標自体の変数と速度の変数の両方ね。どちらかだと全く意味を為しませんからね。