RosettaCodeData/Task/Dragon-curve/BASIC/dragon-curve.basic
2026-02-01 16:33:20 -08:00

29 lines
542 B
Text

DIM SHARED angle AS Double
SUB turn (degrees AS Double)
angle = angle + degrees*3.14159265/180
END SUB
SUB forward (length AS Double)
LINE - STEP (cos(angle)*length, sin(angle)*length), 7
END SUB
SUB dragon (length AS Double, split AS Integer, d AS Double)
IF split=0 THEN
forward length
ELSE
turn d*45
dragon length/1.4142136, split-1, 1
turn -d*90
dragon length/1.4142136, split-1, -1
turn d*45
END IF
END SUB
' Main program
SCREEN 12
angle = 0
PSET (150,180), 0
dragon 400, 12, 1
SLEEP