Found a good snippet relating to what you want to do.
sync on
sync rate 60
cls rgb(255,0,0)
get image 1,0,0,10,10
type spr
x as float
y as float
rot as float
endtype
global sprnum = 1000
dim sprites(sprnum) as spr
for n = 0 to sprnum
sprites(n).x = rnd(screen width())
sprites(n).y = rnd(screen height())
sprites(n).rot = rnd(36000)/100.0
sprite n+1,sprites(n).x,sprites(n).y,1
rotate sprite n+1, sprites(n).rot
next n
do
for n=0 to sprnum
sprites(n).x=sprites(n).x+cos(sprites(n).rot)*2
sprites(n).y=sprites(n).y+sin(sprites(n).rot)*2
if sprites(n).x<0 or sprites(n).x>screen width() then sprites(n).rot = atanfull(cos(sprites(n).rot),sin(sprites(n).rot))+90
if sprites(n).y<0 or sprites(n).y>screen height() then sprites(n).rot= atanfull(cos(sprites(n).rot),sin(sprites(n).rot))-90
if sprites(n).x<0 then sprites(n).x=1
if sprites(n).y<0 then sprites(n).y=1
if sprites(n).x>screen width() then sprites(n).x=screen width()-1
if sprites(n).y>screen height() then sprites(n).y=screen height()-1
rotate sprite n+1,sprites(n).rot
sprite n+1,sprites(n).x,sprites(n).y,1
next n
sync
loop
for loops are ESPECIALLY useful for scrolling through arrays to do anything. Making a bunch of sprites:
for a= 1 to 100
make sprite a,100,53,1
next a