Changes

Jump to navigation Jump to search
Line 248: Line 248:  
==Logo Code for TA Examples==
 
==Logo Code for TA Examples==
   −
TBD
+
This is the code generated for the examples in the [[Activities/TurtleArt/Tutorials/Mathematics_and_art|Mathematics and Art]] tutorial for Turtle Art, with line breaks and indents added for clarity. Square and Squares are of little more difficulty than the Turtle Art they aer derived from. Flowers has a substantial section on handling colors in the manner of Turtle Art. The last three procedures, stack1, stack2, and start, are very similar to the stacks in the Turtle Art version.
 +
 
 +
==Square program==
 +
 
 +
window
 +
 +
to start
 +
 +
  repeat 4.0
 +
  [ forward 100.0
 +
    right 90.0
 +
  ]
 +
 +
end
 +
 
 +
==Squares program==
 +
 
 +
window
 +
 +
to start
 +
 +
  clean
 +
  repeat 36.0
 +
  [ repeat 4.0
 +
    [ forward 300.0
 +
      right 90.0
 +
    ]
 +
    right 10.0
 +
  ]
 +
end
 +
 
 +
==Flower program==
 +
 
 +
window
 +
to tasetpalette :i :r :g :b :myshade
 +
  make "s ((:myshade - 50) / 50)
 +
  ifelse lessp :s 0 [
 +
  make "s (1 + (:s *0.8))
 +
  make "r (:r * :s)
 +
  make "g (:g * :s)
 +
  make "b (:b * :s)
 +
  ] [ make "s (:s * 0.9)
 +
  make "r (:r + ((99-:r) * :s))
 +
  make "g (:g + ((99-:g) * :s))
 +
  make "b (:b + ((99-:b) * :s))
 +
  ] setpalette :i (list :r :g :b)
 +
end
 +
 +
to rgb :myi :mycolors :myshade
 +
  make "myr first :mycolors
 +
  make "mycolors butfirst :mycolors
 +
  make "myg first :mycolors
 +
  make "mycolors butfirst :mycolors
 +
  make "myb first :mycolors
 +
  make "mycolors butfirst :mycolors
 +
  tasetpalette :myi :myr :myg :myb :myshade
 +
  output :mycolors
 +
end
 +
 +
to processcolor :mycolors :myshade
 +
  if emptyp :mycolors [stop]
 +
  make "i :i + 1
 +
  processcolor (rgb :i :mycolors :myshade) :myshade
 +
end
 +
 +
to tasetshade :shade
 +
  make "myshade modulo :shade 200
 +
  if greaterp :myshade 99 [make "myshade (199-:myshade)]
 +
  make "i 7
 +
  make "mycolors :colors
 +
  processcolor :mycolors :myshade
 +
end
 +
 +
to tasetpencolor :c
 +
  make "color (modulo (round :c) 100)
 +
  setpencolor :color + 8
 +
end
 +
 +
make "colors [
 +
99  0  0\
 +
99  5  0\
 +
99 10  0\
 +
99 15  0\
 +
99 20  0\
 +
99 25  0\
 +
99 30  0\
 +
99 35  0\
 +
99 40  0\
 +
99 45  0\
 +
99 50  0\
 +
99 55  0\
 +
99 60  0\
 +
99 65  0\
 +
99 70  0\
 +
99 75  0\
 +
99 80  0\
 +
99 85  0\
 +
99 90  0\
 +
99 95  0\
 +
99 99  0\
 +
90 99  0\
 +
80 99  0\
 +
70 99  0\
 +
60 99  0\
 +
50 99  0\
 +
40 99  0\
 +
30 99  0\
 +
20 99  0\
 +
10 99  0\
 +
  0 99  0\
 +
  0 99  5\
 +
  0 99 10\
 +
  0 99 15\
 +
  0 99 20\
 +
  0 99 25\
 +
  0 99 30\
 +
  0 99 35\
 +
  0 99 40\
 +
  0 99 45\
 +
  0 99 50\
 +
  0 99 55\
 +
  0 99 60\
 +
  0 99 65\
 +
  0 99 70\
 +
  0 99 75\
 +
  0 99 80\
 +
  0 99 85\
 +
  0 99 90\
 +
  0 99 95\
 +
  0 99 99\
 +
  0 95 99\
 +
  0 90 99\
 +
  0 85 99\
 +
  0 80 99\
 +
  0 75 99\
 +
  0 70 99\
 +
  0 65 99\
 +
  0 60 99\
 +
  0 55 99\
 +
  0 50 99\
 +
  0 45 99\
 +
  0 40 99\
 +
  0 35 99\
 +
  0 30 99\
 +
  0 25 99\
 +
  0 20 99\
 +
  0 15 99\
 +
  0 10 99\
 +
  0  5 99\
 +
  0  0 99\
 +
  5  0 99\
 +
10  0 99\
 +
15  0 99\
 +
20  0 99\
 +
25  0 99\
 +
30  0 99\
 +
35  0 99\
 +
40  0 99\
 +
45  0 99\
 +
50  0 99\
 +
55  0 99\
 +
60  0 99\
 +
65  0 99\
 +
70  0 99\
 +
75  0 99\
 +
80  0 99\
 +
85  0 99\
 +
90  0 99\
 +
95  0 99\
 +
99  0 99\
 +
99  0 90\
 +
99  0 80\
 +
99  0 70\
 +
99  0 60\
 +
99  0 50\
 +
99  0 40\
 +
99  0 30\
 +
99  0 20\
 +
99  0 10]
 +
 +
make "shade  50 
 +
 +
to taminus :y :x
 +
  output sum :x minus :y
 +
end
 +
 +
to stack1
 +
  repeat 4.0 [ forward :box1 right 90.0 ]
 +
end
 +
 +
to stack2
 +
  repeat 10.0 [ stack1 right 36.0 ]
 +
end
 +
 +
to start
 +
  clean
 +
  make "box1 0.0
 +
  repeat 300.0 [
 +
  tasetshade taminus 100.0 :box1
 +
  tasetpencolor quotient :box1 3.0 stack2
 +
  make "box1 sum :box1 1.0 ]
 +
end
    
==See Also==
 
==See Also==
1,009

edits

Navigation menu