home *** CD-ROM | disk | FTP | other *** search
- 0 cmd 0:scnclr:end
- 10 ' **** Spheres ****
- 20 ' ** From ANALOG magazine **
- 30 ' ** Translated from the Atari **
- 40 ' ** by David Milligan, 70707,2521 11/2/85 **
- 50 '
- 60 ' *** Draws multicoloured spheres of random
- 70 ' *** sizes at random locations on the screen,
- 80 ' *** endlessly, with a brief pause between
- 90 ' *** spheres. Click left mouse button to exit.
- 100 '
- 110 ask window wid%,hi%:if wid%<600 then 130
- 120 screen 0,4,0
- 130 rgb 0,0,0,0:rgb 15,0,0,0
- 140 rgb 3,15,6,0:rgb 9,0,0,15
- 150 rgb 10,3,6,15:rgb 11,7,7,15
- 160 rgb 12,12,0,14:rgb 13,15,2,14
- 170 window #1,0,0,320,200,"Spheres"
- 180 cmd 1:graphic(1):scnclr
- 190 colr=2:randomize -1
- 200 size=90:cx=160:cy=96:time=1:deg=pi/180
- 210 pena colr
- 220 draw(cx+size,cy)
- 230 for y=90 to 0 step -6
- 240 colr=colr+1:if colr=15 then colr=2
- 250 pena colr
- 260 for x=0 to 360 step 10
- 270 if time=1 then goto 280 else goto 300
- 280 x2=cx+size*cos(x*deg):goto 290
- 290 y2=cy-(size*sin(x*deg)*sin(y*deg)):goto 310
- 300 x2=cx-(size*sin(x*deg)*sin(y*deg)):y2=cy+size*cos(x*deg)
- 310 draw(to x2,y2)
- 320 ask mouse x%,y%,b%:if b%<>0 then 450
- 330 next x:next y
- 340 time =time+1:if time=2 then draw(cx,cy+size):goto 230
- 350 size=20+rnd(1)*38:cx=size+1+(rnd(1)*(318-(size*2)))
- 360 cy=size+1+(rnd(1)*(190-(size*2)))
- 370 gosub 420:time=1:goto 220
- 380 pena 0 :for x=0 to 90 step 0.5
- 390 x2=size*cos(x*deg):y2=size*sin(x*deg)
- 400 draw(cx+x2,cy+y2 to cx-x2,cy+y2):draw(cx+x2,cy-y2 to cx-x2,cy-y2)
- 410 next x:pena colr:return
- 420 for i=0 to 500:ask mouse x%,y%,b%
- 430 if b%<>0 then 450
- 440 next i:goto 380
- 450 scnclr:close 1:rgb 0,6,9,15:rgb 15,11,11,11
-