Crest/Examples
Draw a Circle
This program draws a circle by slowly rotating the turtle as it moves.
penup
setpos 100 300
pendown
forever [
forward 1
right 0.25
]
Turtle Draws a Star
This program animates the turtle drawing a star over and over. This is done by repeatedly calling nextframe to wait a certain amount of time.
showturtle
forever [
clearscreen
repeat 15 [ nextframe ]
left 144
repeat 5 [
right 144
forward 100
repeat 15 [ nextframe ]
]
repeat 15 [ nextframe ]
]
The Color Palette
This program draws all 600 colors to the screen.
setpos 0 0
repeat 600 [
back 599
setpencolor plus pencolor 1
penup
setpos plus xcor 1 0
pendown
]
Key Colors
This program reads the user input pixel and fills the screen with that color.
left 90
forever [
penup
setpos 599 599
pendown
setpencolor pixel
repeat 600 [
forward 599
setpos 599 minus ycor 1
]
nextframe
]
Color Picker
This program lets you enter a three digit number from 0-599, one digit at a time (make sure to have no keys pressed to let the program know to move to the next digit). It then displays that number as a color on the screen. Error inputting digits will make the program fill the screen with red. After the screen fill with a color, press enter to reset it.
The input is taken by waiting for the input pixel to change.
right 90
forever [
penup
setpos 599 599
pendown
while equal pixel 599 [ nextframe ]
ifelse or
lessthan pixel 48
morethan pixel 53
[
setpencolor 9
] [
setpencolor minus pixel 48
back 1
repeat 99 [ setpencolor plus pencolor pixel ]
forward 1
while not equal pixel 599 [ nextframe ]
while equal pixel 599 [ nextframe ]
ifelse or
lessthan pixel 48
morethan pixel 57
[
setpencolor 9
] [
setpencolor minus pixel 48
penup
back 2
pendown
back 0
repeat 9 [ setpencolor plus pencolor pixel ]
penup
forward 1
setpencolor plus pencolor pixel
pendown
forward 1
while not equal pixel 599 [ nextframe ]
while equal pixel 599 [ nextframe ]
ifelse or
lessthan pixel 48
morethan pixel 57
[
setpencolor 9
] [
setpencolor plus
pencolor
minus pixel 48
]
]
]
clean
setpos 0 0
repeat 600 [
forward 599
setpos 0 plus ycor 1
]
setpos 599 599
while not equal pixel 13 [ nextframe ]
while not equal pixel 599 [ nextframe ]
clean
]
Walking Simulator
This program lets you press the arrow keys to move the turtle around.
It works by always putting the turtle where it needs to be right before calling nextframe. The position and rotation are stored in the 3 pixels next to the input. You can even see them change as you move if you look closely enough!
showturtle
penup
setpos 596 599
pendown
right 90
setpencolor 90
forward 1
setpencolor 300
forward 1
forever [
penup
setpos 599 599
setheading 90
if equal pixel 150 [
setpos 596 599
setpencolor 90
pendown
forward 0
penup
setpos 597 599
setpencolor plus pixel 8
pendown
forward 0
]
if equal pixel 151 [
setpos 596 599
setpencolor 270
pendown
forward 0
penup
setpos 597 599
setpencolor minus pixel 8
pendown
forward 0
]
if equal pixel 152 [
setpos 596 599
setpencolor 180
pendown
forward 0
penup
setpos 598 599
setpencolor plus pixel 8
pendown
forward 0
]
if equal pixel 153 [
setpos 596 599
setpencolor 0
pendown
forward 0
penup
setpos 598 599
setpencolor minus pixel 8
pendown
forward 0
]
penup
setpos 596 599
setheading pixel
setpos 597 599
setpencolor pixel
setpos 598 599
setpos pencolor pixel
nextframe
]
The Cantor Set
This program draws the cantor set fractal with some rounding errors.
penup
setpos 0 0
pendown
setpencolor 1
back 0
penup
setpos 1 0
pendown
setpencolor 100
back 1
setpencolor 400
back 0
penup
setpos 0 0
pendown
setheading 90
while lessthan pixel 128 [
penup
setpos pixel 0
setpencolor pixel
while not equal pixel 599 [ forward 1 ]
pendown
forward 0
penup
setpos 0 0
setpos pixel 1
setpencolor pixel
setpos xcor 2
pendown
forward 0
setpencolor 0
while lessthan
plus plus pencolor pencolor pencolor
pixel
[
setpencolor plus pencolor 1
]
setpencolor minus pencolor 1
forward 0
penup
setpos xcor 1
while not equal pixel 599 [ forward 1 ]
pendown
forward 1
penup
setpos 0 0
setpos pixel 0
setpencolor pixel
setpos xcor 2
setpencolor plus plus pencolor pixel pixel
setpos xcor 0
while not equal pixel 599 [ forward 1 ]
pendown
forward 0
penup
setpos 0 0
setpencolor plus pixel 1
pendown
forward 0
]
penup
setpos 0 1
pendown
setpencolor 1
back 0
while lessthan pixel 128 [
penup
setpos pixel 1
setpencolor pixel
setpos xcor 0
setpos pixel plus 2 3
setheading 180
while not equal pixel 599 [ forward 2 ]
setheading 90
pendown
forward 0
setpencolor 0
forward pixel
penup
setpos 0 1
setpencolor plus pixel 1
pendown
forward 0
]