Dragon curve: Difference between revisions

mNo edit summary
Line 1,326:
return
end sub</syntaxhighlight>
Other solution
<syntaxhighlight lang="yabasic">clear screen
width = 512 : height = 512 : crad = 0.01745329
open window width, height
window origin "cc"
 
x = 75 : y = 120 : level = 18 : iters = 2**level : qiter = 510/iters
 
sub dragon(size, lev, d)
if lev then
dragon(size / sqrt(2), lev - 1, 1)
angle = angle - d * 90
dragon(size / sqrt(2), lev - 1, -1)
else
x = x - cos(angle * crad) * size
y = y + sin(angle * crad) * size
if iter*2<iters then
color 0,iter*qiter,255-iter*qiter
else
color qiter*iter-255,(iters-iter)*qiter,0
endif
line to x, y
iter = iter + 1
endif
end sub
 
dot x, y
dragon(300, level, 1)</syntaxhighlight>
 
==={{header|ZX Spectrum Basic}}===
57

edits