10 rem Dragon curve 20 rem sin, cos in arrays for pi/4 multipl. 30 dim s(7),c(7) 40 for i = 0 to 7 50 s(i) = sin(i*pi/4) : c(i) = cos(i*pi/4) 60 next i 70 level = 15 80 insize = 256 : rem 2^whole_num (looks better) 90 x = 224 : y = 140 100 sq = sqr(2) 110 rotqpi = 0 : rq = 1 120 dim r(level) 130 graphics 0 : graphics cls 140 gosub 160 150 end 160 rem Dragon 170 rotqpi = rotqpi and 7 180 if level <= 1 then 190 yn = s(rotqpi)*insize+y 200 xn = c(rotqpi)*insize+x 210 graphics moveto x,y : graphics lineto xn,yn 220 x = xn : y = yn 230 else 240 insize = insize*sq/2 250 rotqpi = (rotqpi+rq) and 7 260 level = level-1 270 r(level) = rq : rq = 1 280 gosub 160 290 rotqpi = (rotqpi-r(level)*2) and 7 300 rq = -1 310 gosub 160 320 rq = r(level) 330 rotqpi = (rotqpi+rq) and 7 340 level = level+1 350 insize = insize*sq 360 endif 370 return