# Main Command: GoX # Hilbert2 Curve by Guy Walker # www.logoarts.co.uk to new # set default screen, pen and turtle ResetAll SetScreenSize [400 400] HideTurtle SetSC Black SetPC Green SetPS 1 PenUp end to init :level GlobalMake "Size 96/(Power 2 :Level) # global value GlobalMake "Step Pi * :Size / 10 # global value for curved corners PenUp SetXY Minus :Size 0 PenDown end to c1 :level :parity If :Level < 1 [Turn :Parity Stop] C2 :Level-1 Minus :Parity C2 :Level-1 :Parity C1 :Level-1 :Parity Str :Level-1 Minus :Parity end to c2 :level :parity If :Level < 1 [Turn :Parity Stop] Str :Level-1 Minus :Parity C2 :Level-1 :Parity C1 :Level-1 :Parity C1 :Level-1 Minus :Parity end to str :level :parity If :Level < 1 [Forward 2*:Size Stop] C2 :Level-1 Minus :Parity C2 :Level-1 :Parity C1 :Level-1 :Parity C1 :Level-1 Minus :Parity end to turn :parity Forward :Size Right :Parity*90 Forward :Size end to go :level New Init :Level Repeat 2 [C1 :Level 1 C2 :Level 1] PenUp Home SetPC DarkRed Wait 30 Fill end to gox New For [Level 0 5] [ #Wash Init :Level SetPC Green Init :Level SetPC :Level+1 SetPW 6-:Level # comment out Repeat 2 [C1 :Level 1 C2 :Level 1] Wait 90] end to turn2 :parity # rounded corners Right :Parity*9 Repeat 5 [Forward :Step Right :Parity*18] Left :Parity*9 end