I had time to kill, so I messed around with the newvalue codes.
compressed to 5 lines:
set display mode 1280, 1024, 32 : sync on : sync rate 0 : global oldx : global oldy : gosub setvars
do : angle# = angle# + 1 : makethingey(firstspeed, seccondspeed, thirdspeed, angle#) : if angle# > 360*4 or spacekey() and spacelock=0
ink rgb(255,255,255),0 : center text screen width()/2,30,"hit a key to continue" : sync : cls : suspend for key : gosub setvars : endif : spacelock = spacekey() : sync : loop
setvars: : oldx = screen width()/2 : oldy = screen height()/2 + 150 : angle# = 0 : firstspeed = rnd(2)+1 : seccondspeed = rnd(9)+1 : thirdspeed = rnd(179)+1 : ink rgb(255,255,255),0 : center text screen width()/2,10,"firstspeed: " + str$(firstspeed) + ", seccondspeed: " + str$(seccondspeed) + ", thirdspeed: " + str$(thirdspeed) : ink rgb(rnd(100)+155,rnd(100)+155,rnd(100)+155),0 : return
function makethingey(firstspeed, seccondspeed, thirdspeed, angle) : x = newxvalue(screen width()/2,angle/firstspeed,100) : y = newzvalue(screen height()/2,angle/firstspeed,100) : x = newxvalue(x,angle*seccondspeed,40) : y = newzvalue(y,angle*seccondspeed,40) : x = newxvalue(x,angle*thirdspeed,10) : y = newzvalue(y,angle*thirdspeed,10) : line x, y, oldx, oldy : oldx = x : oldy = y : endfunction
uncompressed:
set display mode 1280, 1024, 32
sync on : sync rate 0
global oldx
global oldy
gosub setvars
do
angle# = angle# + 1
makethingey(firstspeed, seccondspeed, thirdspeed, angle#)
if angle# > 360*4 or spacekey() and spacelock=0
ink rgb(255,255,255),0
center text screen width()/2,30,"hit a key to continue"
sync
cls
suspend for key
gosub setvars
endif
spacelock = spacekey()
sync
loop
setvars:
oldx = screen width()/2
oldy = screen height()/2 + 150
angle# = 0
firstspeed = rnd(2)+1
seccondspeed = rnd(9)+1
thirdspeed = rnd(179)+1
ink rgb(255,255,255),0
center text screen width()/2,10,"firstspeed: " + str$(firstspeed) + ", seccondspeed: " + str$(seccondspeed) + ", thirdspeed: " + str$(thirdspeed)
ink rgb(rnd(100)+155,rnd(100)+155,rnd(100)+155),0
return
function makethingey(firstspeed, seccondspeed, thirdspeed, angle)
x = newxvalue(screen width()/2,angle/firstspeed,100)
y = newzvalue(screen height()/2,angle/firstspeed,100)
x = newxvalue(x,angle*seccondspeed,40)
y = newzvalue(y,angle*seccondspeed,40)
x = newxvalue(x,angle*thirdspeed,10)
y = newzvalue(y,angle*thirdspeed,10)
`dot x, y
line x, y, oldx, oldy
oldx = x
oldy = y
endfunction
