_runtimePath_ "../runtime" _codeRomType_ ROMv1 cls loop: set FG_COLOUR, rnd(0) AND &h3F circle rnd(100) + (- 50 + 80), rnd(60) + (- 30 + 60), rnd(30) + 1 goto &loop end 'ch0=0 : ch1=ch0 : ch2=ch1 : ch3=ch2 ' 'loop: ' cx = rnd(100) + (- 50 + 80) ' cy = rnd(60) + (- 30 + 60 + 8) ' r = rnd(30) + 1 ' c = rnd(0) AND &h3F ' gosub circle ' goto loop ' 'end ' 'circle: ' d = 1 - r ' x = 0 ' y = r ' ' repeat ' ch0.hi = cy + y ' ch1.hi = cy - y ' ch2.hi = cy + x ' ch3.hi = cy - x ' ' a = cx + x + ch0 : poke a, c ' a = cx - x + ch0 : poke a, c ' a = cx + x + ch1 : poke a, c ' a = cx - x + ch1 : poke a, c ' a = cx + y + ch2 : poke a, c ' a = cx - y + ch2 : poke a, c ' a = cx + y + ch3 : poke a, c ' a = cx - y + ch3 : poke a, c ' ' if d &&< 0 ' d = d + (x LSL 2) + 3 ' else ' d = d + ((x - y) LSL 2) + 5 ' y = y - 1 ' endif ' ' inc x ' until x &> y 'return 'circle: ' d = r ' x = r ' y = 0 ' ' repeat ' ch0.hi = cy + y ' ch1.hi = cy - y ' ch2.hi = cy + x ' ch3.hi = cy - x ' ' a = cx + x + ch0 : poke a, c ' a = cx - x + ch0 : poke a, c ' a = cx + x + ch1 : poke a, c ' a = cx - x + ch1 : poke a, c ' a = cx + y + ch2 : poke a, c ' a = cx - y + ch2 : poke a, c ' a = cx + y + ch3 : poke a, c ' a = cx - y + ch3 : poke a, c ' ' inc y ' d = d - y ' if d &&< 0 then x = x - 1 : d = d + x ' until y &>= x 'return