80 lines
1.6 KiB
Plaintext
80 lines
1.6 KiB
Plaintext
_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 |