- _TITLE "*** Chaotic Scattering *** by vince and mod by bplus 2018-02-15                     click mouse to reset LASER" 
-   
- qb(0) = &HFF000000 
- qb(1) = &HFF000088 
- qb(2) = &HFF008800 
- qb(3) = &HFF008888 
- qb(4) = &HFF880000 
- qb(5) = &HFF880088 
- qb(6) = &HFF888800 
- qb(7) = &HFFCCCCCC 
- qb(8) = &HFF888888 
- qb(9) = &HFF0000FF 
- qb(10) = &HFF00FF00 
- qb(11) = &HFF00FFFF 
- qb(12) = &HFFFF0000 
- qb(13) = &HFFFF00FF 
- qb(14) = &HFFFFFF00 
- qb(15) = &HFFFFFFFF 
-   
-     cs (- i )- .r  = RND * (- maxr  - 20) + 20
-     cs (- i )- .c  =-  qb (INT(RND * 15) + 1)
-         ck = 0 
-             cs (- i )- .x  = INT(RND * (- sw  - 2 *-  cs (- i )- .r )) +-  cs (- i )- .r 
-             cs (- i )- .y  = INT(RND * (- sh  - 2 *-  cs (- i )- .r )) +-  cs (- i )- .r 
-             ck = 1 
-                 IF ((- cs (- i )- .x  --  cs (- c )- .x ) ^ 2 + (- cs (- i )- .y  --  cs (- c )- .y ) ^ 2) ^ .5 <-  cs (- i )- .r  +-  cs (- c )- .r  THEN-  ck  = 0- :  EXIT FOR
 
-         cs (- i )- .x  = INT(RND * (- sw  - 2 *-  cs (- i )- .r )) +-  cs (- i )- .r 
-         cs (- i )- .y  = INT(RND * (- sh  - 2 *-  cs (- i )- .r )) +-  cs (- i )- .r 
-   
-   
-   
-   
-   
- 'find a place not inside a circle 
- xx = sw / 2 
- yy = sh / 2 
- WHILE-  checkxy% (- xx ,-  yy ) = 0
 
-     xx  = INT(RND * (- sw  - 2 *-  maxr )) +-  maxr 
-     yy  = INT(RND * (- sh  - 2 *-  maxr )) +-  maxr 
-   
-         _DELAY 5 'to get dang screen shot 
-         'get mouse x, y if click 
-     'cls 
-     LINE (0, 0)-(- sw ,-  sh ),-  qb (0),-  BF 
 
-     'draw circles 
-         fcirc cs(c).x, cs(c).y, cs(c).r 
-   
-     'if click make sure click was not inside one of the circles 
-         f = checkxy%(mx, my) 
-             xx = mx 
-             yy = my 
-             f = -1 
-   
-     x0 = xx 
-     y0 = yy 
-     t = 0 
-         t = t + 1 
-             IF (- x  --  cs (- c )- .x ) ^ 2 + (- y  --  cs (- c )- .y ) ^ 2 <-  cs (- c )- .r  *-  cs (- c )- .r  THEN
 
-                 a1  = _ATAN2(- y  --  cs (- c )- .y ,-  x  --  cs (- c )- .x )
-                 LINE (- x0 ,-  y0 )-(- x ,-  y ),-  qb (14)
 
-                 x0 = x 
-                 y0 = y 
-                 a = a2 
-                 t = 0 
-     LINE (- x0 ,-  y0 )-(- x ,-  y ),-  qb (14)
 
-   
-         IF (- x  --  cs (- c )- .x ) ^ 2 + (- y  --  cs (- c )- .y ) ^ 2 <-  cs (- c )- .r  *-  cs (- c )- .r  THEN-  checkxy%  = 0- :  EXIT FUNCTION
 
-     checkxy% = 1 
-   
- 'Steve McNeil's  copied from his forum   note: Radius is too common a name 
-   
-     RadiusError = -subRadius 
-     X = subRadius 
-     Y = 0 
-   
-   
-     ' Draw the middle span here so we don't draw it twice in the main loop, 
-     ' which would be a problem with blending turned on. 
-     LINE (- CX  --  X ,-  CY )-(- CX  +-  X ,-  CY ), ,-  BF 
 
-   
-         RadiusError = RadiusError + Y * 2 + 1 
-                 LINE (- CX  --  Y ,-  CY  --  X )-(- CX  +-  Y ,-  CY  --  X ), ,-  BF 
 
-                 LINE (- CX  --  Y ,-  CY  +-  X )-(- CX  +-  Y ,-  CY  +-  X ), ,-  BF 
 
-             X = X - 1 
-             RadiusError = RadiusError - X * 2 
-         Y = Y + 1 
-         LINE (- CX  --  X ,-  CY  --  Y )-(- CX  +-  X ,-  CY  --  Y ), ,-  BF 
 
-         LINE (- CX  --  X ,-  CY  +-  Y )-(- CX  +-  X ,-  CY  +-  Y ), ,-  BF 
 
-   
-   
-