to yal make "size 66 make "n 0 make "h [10] pr se [Yet Another Life, ] [] pr se [Copyright (C) 2005 Comma Inc.] [] wait 200 repeat 15 [plants last :h] setpw 1 end to tree :size if :size < 1 [tomato] if :size < ((random 5) + 4.6) [stop] fd :size lt :size / 2 tree :size * (((random 7) +3) / 10) rt :size tree :size * (((random 9) +1) / 10) lt :size / 2 bk :size end to tomato setpc 1 repeat 12 [fd 3 rt 30] make "n :n + 1 setpc 0 end to graf :h if emptyp :h [stop] fd first :h rt 90 fd 10 sety 0 setheading 0 graf bf :h home fd (last :h) * 1.1 + 20 st end to plants :quantity ct print se [Yet Another Life, ] se "Generation: (count :h) pr " print se :h [Many tomatos!] pr " write "Tomatos: cs window pu setpos [-100 -200] ht pd repeat :quantity [ make "x random 450 * ((-2 * random 2) + 1) make "y random 180 * ((-2 * random 2) + 1) pu setx :x sety :y pd setheading (sqrt :n) * ((-2 * random 2) + 1) arc 5 90 270 wait 5 tree :size - (count :h) write se :n " ] make "h lput :n :h make "n 0 wait 200 ct print se [Yet Another Life, ] se "Generation: (count :h) pr " print se :h [Many tomatos!] cs graf :h wait 200 end