Changes

Line 271: Line 271:  
|[[Image:TA-emptyheap.svg]]||empty heap|| empty FILO
 
|[[Image:TA-emptyheap.svg]]||empty heap|| empty FILO
 
|}
 
|}
 +
 +
==Exporting to Berkeley Logo==
 +
Turtle Art can export its projects to Logo (using the Save as Logo button on the [[#Project Toolbar|Project Toolbar]])
 +
[[Image:Taspin.png|thumb|left|a Turtle Art project]]
 +
[[Image:UCB-Logo.png|thumb|left|the UCB Logo version]]
 +
<div class="visualClear"></div>
 +
 +
Some procedures for setting up the palette and the shade functionality:
 +
 +
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 + ((100-:r) * :s))
 +
make "g (:g + ((100-:g) * :s))
 +
make "b (:b + ((100-: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 [
 +
100 0 0 100 5 0 100 10 0 100 15 0 100 20 0 100 25 0 100 30 0 100 35 0 100 40 0 100 45 0
 +
100 50 0 100 55 0 100 60 0 100 65 0 100 70 0 100 75 0 100 80 0 100 85 0 100 90 0 100 95 0
 +
100 100 0 90 100 0 80 100 0 70 100 0 60 100 0 50 100 0 40 100 0 30 100 0 20 100 0 10 100 0
 +
0 100 0 0 100 5 0 100 10 0 100 15 0 100 20 0 100 25 0 100 30 0 100 35 0 100 40 0 100 45
 +
0 100 50 0 100 55 0 100 60 0 100 65 0 100 70 0 100 75 0 100 80 0 100 85 0 100 90 0 100 95
 +
0 100 100 0 95 100 0 90 100 0 85 100 0 80 100 0 75 100 0 70 100 0 65 100 0 60 100 0 55 100
 +
0 50 100 0 45 100 0 40 100 0 35 100 0 30 100 0 25 100 0 20 100 0 15 100 0 10 100 0 5 100
 +
0 0 100 5 0 100 10 0 100 15 0 100 20 0 100 25 0 100 30 0 100 35 0 100 40 0 100 45 0 100
 +
50 0 100 55 0 100 60 0 100 65 0 100 70 0 100 75 0 100 80 0 100 85 0 100 90 0 100 95 0 100
 +
100 0 100 100 0 90 100 0 80 100 0 70 100 0 60 100 0 50 100 0 40 100 0 30 100 0 20 100 0 10]
 +
make "shade 50
 +
tasetshade :shade
 +
 +
to tasetbackground :color :shade
 +
tasetshade :shade
 +
setbackground :color + 8
 +
end
 +
 +
The project:
 +
 +
to ta
 +
clearscreen tasetbackground 21 100 setpensize 25.0 make "box1 0.0
 +
repeat 300.0 [ tasetpencolor xcor / 6.0 tasetshade heading forward :box1 right 91.0 make "box1 :box1 + 1.0 ]
 +
end
 +
 +
ta
    
==Looking under the hood==
 
==Looking under the hood==