Code: Select all
startshape FIRST
rule FIRST {
CIRCLE { }
STEPLEFT { r 20 x .8 }
STEPLEFT { r 110 y .8 }
STEPLEFT { r 200 x -.8}
STEPLEFT { r 290 y -.8 }
}
rule FIRST {
CIRCLE { }
STEPRIGHT { r 20 x .8 }
STEPRIGHT { r 110 y .8 }
STEPRIGHT { r 200 x -.8}
STEPRIGHT { r 290 y -.8 }
}
//
// curve right
//
rule STEPRIGHT 20 {
SQUARE {}
STEPRIGHT {r -5 x .8 s 0.99 b 0.01}
}
rule STEPRIGHT 0.5 {
SQUARE {}
STRAIGHTRIGHT {}
}
rule STEPRIGHT {
SQUARE{}
STEPRIGHT {r -10 x .8 s 0.95 b 0.01}
STEPRIGHT {r 80 x .8 s 0.4 b 0.01}
}
rule STEPRIGHT {
SQUARE{}
STEPRIGHT {r -10 x .8 s 0.95 b 0.01}
STEPRIGHT {r -80 x .8 s 0.4 b 0.01}
}
rule STEPRIGHT 0.2 {
FIRST {s 0.7 r 5}
}
//
// curve left
//
rule STEPLEFT 20 {
SQUARE {}
STEPLEFT {r 5 x .8 s 0.99 b 0.01}
}
rule STEPLEFT 0.5 {
SQUARE {}
STRAIGHTLEFT {}
}
rule STEPLEFT {
SQUARE{}
STEPLEFT {r 10 x .8 s 0.95 b 0.01}
STEPLEFT {r -80 x .8 s 0.4 b 0.01}
}
rule STEPLEFT {
SQUARE{}
STEPLEFT {r 10 x .8 s 0.95 b 0.01}
STEPLEFT {r 80 x .8 s 0.4 b 0.01}
}
rule STEPLEFT 0.2 {
FIRST {s 0.8 r 5}
}
//
// go straight and back right or left
//
rule STRAIGHTRIGHT 30 {
SQUARE {}
STRAIGHTRIGHT {x .8 s 0.99 b 0.01}
}
rule STRAIGHTRIGHT {
SQUARE {}
STEPRIGHT {x .8 s 0.99 b 0.01}
}
rule STRAIGHTLEFT 30 {
SQUARE {}
STRAIGHTLEFT {x .8 s 0.99 b 0.01}
}
rule STRAIGHTLEFT {
SQUARE {}
STEPLEFT {x .8 s 0.99 b 0.01}
}