
; the Sierpinski curve

if not procedurep "cs [ turtle ] [ ]

make "zig [
	procedure [ [ :foo ] ]
	if <= :foo 1 [
		lt 45 fd :siz lt 45
;		left 90
		forward :siz
		lt 45 fd :siz lt 45
;		left 90
		forward :siz
	] [
		zig / :foo 2
		zag / :foo 2
		zig / :foo 2
		zag / :foo 2
	]
]

make "zag [
	procedure [ [ :foo ] ]
	if <= :foo 1 [
		rt 45 fd :siz rt 45
;		right 90
		forward :siz
		rt 45 fd :siz rt 45
;		right 90
		forward :siz
		lt 45 fd :siz lt 45
;		left 90
		forward :siz
	] [
		zag / :foo 2
		zag / :foo 2
		zig / :foo 2
		zag / :foo 2
	]
]

make "zigzag [
	procedure [ [ :siz :foo ] ]
;	cs
	repeat 2 [ zig :foo ]
]
