D.3 Chapter 7

D.3.1 the robot

The first drawing is formed only with elementar motifs: rectangulars, squares and triangle. Here is the associated code:

to rec :lo :la  
# draws a rectangular with choosen dimansion  
repeat 2[forward :lo right 90 forward :la right 90]  
end  
 
to square :c  
# Draws a square with side length :c  
repeat 4[forward :c right 90]  
end  
 
to tri :c  
# Draws an equilateral triangle with side length :c  
repeat 3[forward :c right 120]  
end  
 
to leg :c  
rec 20*:c 30*:c square 20*:c  
end  
 
to antenna :c  
forward 30*:c left 90 forward 10*:c right 90 square 20*:c  
penup back 30 *:c right 90 forward 10*:c left 90 pendown  
end  
 
to robot :c  
clearscreen hideturtle  
# body  
rec 40*:c 280* :c  
# legs  
right 90 forward 20*:c leg :c forward 40* :c leg :c forward 140*:c leg :c forward 40*:c leg :c  
# queue  
penup left 90 forward 40* :c pendown right 45 forward 110*:c back 110* :c left 135  
# head  
forward 180 *:c square 10*:c forward 30*:c square 10*:c right 90 forward 10*:c left 90  
 forward 20*:c right 90 square 80* :c  
# ears  
forward 40*:c left 60 tri 30*:c penup right 150 forward 80 *:c left 90 pendown tri 30*:c  
#  antennas  
forward 40 *:c left 90 forward 20*:c right 90 antenna :c left 90 forward 40*:c right 90 antenna :c  
# eyes  
penup back 30 *:c pendown square 10*:c right 90 penup forward 30*:c pendown left 90 square 10*:c  
# mouth  
penup back 30*:c left 90 forward 30*:c right 90 pendown rec 10*:c 40*:c  
end  

D.3.2 The frog

to frog :c  
clearscreen hideturtle  
forward 20 *:c right 90 forward 50*:c left 90 forward 40*:c  
left 90 forward 70 *:c right 90 forward 70*:c right 90  
forward 210 *:c right 90 forward 20*:c left 90 forward 20*:c  
right 90 forward 90*:c right 90 forward 20*:c left 90  
forward 20*:c right 90 forward 90*:c right 90 forward 20*:c  
right 90 forward 70*:c back 50*:c left 90 forward 40*:c  
right 90 forward 40*:c back 40*:c left 90 back 20*:c left 90  
forward 50*:c left 90 forward 40*:c right 90 forward 70*:c  
right 90 penup forward 90*:c pendown repeat 4[forward 20*:c right 90]  
end