Saving Files in TurtleArt (from dawn sumner) TurtleArt does not save files properly when using the "Keep" button, a known problem. I have been playing with ways to save projects in TurtleArt and here is a way that I think is fairly reliable:
1. Open TurtleArt
2. Change the name of the activity in the upper left.
3. Program your turtle
4. Close the activity using the octagon with an X in the upper right.
5. Reopen the project using the Journal. It should be listed with the name you chose in step 2.
6. Edit the program and exit using the X-octagon.
Please note: If you click on the "Keep" button, your changes seem not to be saved, even in the Journal entry with the same name. Thus, in TurtleArt, I recommend never hitting the "Keep" button until the next version of TurtleArt, which will hopefully work the same way many of the other Activities do.
Is this the place to post questions? I'm on my XO now and having fun with Turtle Art.
- Where do my new files get saved when I push the "keep" button? Can I access them from the projects tab?
- I accidentally deleted the activity with my file from Journal but I still see the data files. Why can't I resume from the data file?
Thanks! Jennifer 14:36, 25 December 2007 (EST)
- The git tree itself is for development, not for stable .xo snapshots; I don't know the original location for .xo's used in the build process, so I used my own; but we need direct links to .xo bundles from the wiki in addition to the git tree for the latest code. Sj talk 23:03, 19 June 2007 (EDT)
 User feedback
Turtle Art was popular among adults at a (MIT) bbq 2007-08-19. Some observations:
- In a demo setting, without much time to explore, people were puzzled how to begin. The Blocks pulldown was too low profile. Perhaps the program might start with it already pulled down?
- Combinations of arc with f/b/l/r made nice shapes and were popular.
- Everyone's first inclination was to click on the components, rather than dragging them. Which currently creates the component underneath the pulldown, with just the numbers visibly sticking out the side. So next they tried to grab the numbers, thus pulling them off the component. It was messy. I suggest clicked components be dropped clear of the pulldown rather than underneath it.
- When connecting components, positioning them was troublesome. They were often 'almost but not quite' connected. Which sometimes created "so why isnt it working?". Having a snap region might make connecting easier and simpler.
- There was some uncertainty over how to reset the turtle. Especially when it had been walked out of sight off the screen.
MitchellNCharity 01:06, 19 August 2007 (EDT)
- This was the first application that my kid really got into on the xo - he pretty much figured it out on his own. One question though - how do we delete blocks? Kriek 13:07, 30 December 2007 (EST)
- Delete a block by dragging it back onto the palette (found by trial and error). --IanOsgood 13:38, 30 December 2007 (EST)
Where can we get an explanation of what all of the buttons mean? It is hard to figure out how to make this work with no instructions, could someone please put up instructions on how this works? Thanks
- I hope the detail I added to the page was helpful... You can also look at any of the existing programs under the Project tab. --IanOsgood 13:38, 30 December 2007 (EST)
It would be really helpful to have a "step" or "slow" mode where you could see the turtle drawing in progress (i.e. animation!). As it is, when you run your program, you are simply presented with the completed drawing. Seeing it take place slowly would help to really understand what each step is doing. Also would be nice if in this mode, the current program step were highlighted. --Tom Stewart
I noticed that you can lose blocks off the top of the screen, which should probably not be possible. Can the blocks be hard bounded so that they don't get lost under the activity menu? -Dan Warren Jan2 2:25(EST)
 No parameters, no lists: not Logo
A turtle doth not a Logo make. Most of the coolness of Logo is in the ease of recursive expression borrowed from Lisp. The lack of recursion is not even treated as a bug but as an enhancement. --IanOsgood 19:01, 12 November 2007 (EST)
- Actually, two procedures and recursion are supported, but without parameters. All you currently have are two global variables. This could be remedied in a couple of ways:
- Have some other stack heads/invokers that take parameters. Not sure how you could generalize this to arbitrary numbers of parameters; maybe a "parameter chain" block?
- Go the Forth route: add a separate parameter stack (as in data structure stack). There is prior art by Wouter van Oortmerssen in stack-based visual programming language design.
- --IanOsgood 17:28, 14 November 2007 (EST)
- Builds 26 and 27 removed the two-stack/variable limits and added a parameter stack, a la Forth. An Export button was also added for migrating to Berkeley Logo.--Ian
 Experimental palette?
There is one more palette in the source tree but not visible in the Blocks palette. Perhaps these are features that are under development?)
- My stuff (?)
- 1input, 1inputs, 3inputs: looks like invoking a stack with 1/2/3 parameters
- boutput: looks like a blank condition
- opwithlip, opwithlipb: looks like box parameters that can be chained (socket on right)
Also, is the Print block supposed to do anything? It is does nothing on my G1G1 laptop, and none of the samples use it. --IanOsgood 14:02, 30 December 2007 (EST)
The print block prints a single line message on my G1G1 laptop TurtleArt activity when I run in full screen mode (alt-enter key). The print message appears at the bottom in a gold colored bar. --mark w 11:39, 31 December 2007 (EST)
 User's manual
Does a user's manual exist for this activity? Where? If not I would like to contribute but I suppose there are guidelines on this somewhere. Point me in the right direction? Ike9898 22:23, 30 December 2007 (EST)
- Now I've started the student guide here. I'd love to have collaborators. Ike9898 11:30, 5 January 2008 (EST)
 Color and Shade values
SetColor and SetShade will take any numeric value as input, positive or negative. The number input is normalized to an integer value from 0 to 99 inclusive. The color 0 is red. The color 20 is yellow. The color 30 is green. The color 50 is cyan. The color 70 is blue. The color 90 is violet.
The function "wrap100(n)" defined in the source file "taturtle.py" is the algorithm used to normalize the color and shade values.
def wrap100(n): #n is either a color or shade value n = int(n) #truncate n to an integer n %= 200 #n is now an integer from 0 to 199 inclusive if n>99: n=199-n #if n is 100 to 199 subtract n from 199 return n #n is now an integer from 0 to 99
The RGB (red, green, blue) values for the 100 colors are coded in a color_table variable in the source file "taturtle.py" as well.
The shade value 50 represents the normal color value. Colors become darker as shade values decrease to 0 and brighter as shade values increase to 99 (correct terminology needed here). That is, any color value with the shade value set to 0 appears nearly black. Any color value with the shade value set to 99 appears nearly white. --mark w 19:40, 2 January 2008 (EST)
 Keyboard Shortcuts?
It is tedious to have to mouse back and forth between setting a parameter and running the program to see the result, A keyboard shortcut for RUN would be VERY helpful. How about it? -- DBooth 08:43, 5 January 2008 (EST)
 Input Values to Random
When using the random block, the lower input value is included in the results but the upper value is not. For example, if a random value of 1, 2, or 3 is needed, the input values should be set to 1 and 4. This TurtleArt screenshot shows a usage example. --mark w 21:15, 9 January 2008 (EST)