' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2024.09.09.00.00]) on 2024.10.03 at 01:18 (Coordinated Universal Time)
' This program by Charlie Veniot is a port and mod of a SpecBAS
' program by ZXDunny (program included in comments at the bottom of this listing)

ALERT("After each image rendering, the program will pause for about 2.5 seconds before the screen is cleared and another image is drawn.\n\n  If you want more time to view the current image, click/touch the screen to pause the program until the click/touch is released.")
SCREEN _NEWIMAGE( 600, 600, 17)
10 s = INT( _WIDTH / 800 +.5) : w = _HEIGHT - s * 2

โž”new_drawing:

     CLS
     fstart = INT( RND * 10 ) + 14
     fend = INT( RND * 5 ) + 2
     fstep = INT( RND * 4 ) + 1
     fstep = IFF( fstep > fstart - fend, 1, fstep)
  30 FOR f = fstart TO fend STEP -fstep
            COLOR INT( RND * 63 ) + 1
         40 r = w / 2 / f : x = _WIDTH / 2 -w / 2 + r
         50 FOR g= 0 TO f - 1
                60 CIRCLE ( x + g * r * 2, _HEIGHT / 2 ), r, , , , , T
                65 CIRCLE ( _HEIGHT / 2, x + g * r * 2 ), r, , , , , T
         80 NEXT g
            SLEEP 0.1
  90 NEXT f

  SLEEP 2.5
  IF _MOUSEBUTTON THEN WHILE _MOUSEBUTTON : WEND
GOTO โž”new_drawing

END

' ๐ŸŸ ๐ŸŸ ๐ŸŸ  SpecBAS program by ZXDunny

'10 s=int(scrw/800+.5),w=scrh-s*2
'20 stroke s
'30 for f=14 to 1 step -1
'40    r=w/2/f,x=scrw/2-w/2+r
'50    for g=0 to f-1
'60       circle x+g*r*2,scrh/2,r
'70       wait screen
'80    next g
'90 next f