FAQ

How do I open the example turtleSpaces?

First, enter the catalogue by typing either cat and pressing return, or control-shift-`

Use the cursor keys to move to the examples folder and press return.

Use the cursor keys to move to the example you wish to load and press return.

Some turtleSpaces have an .autorun procedure that auto-starts the example, while some need you to start them manually. Open the editor (by typing ed or control-shift-e) and browse through the code using the cursor keys (shift-up and shift-down page through the code), and when you find the procedure you want to execute, press control-shift-q to exit the editor, then type the procedure name and return.

You can also type pots from the prompt to get a list of all the procedures in the turtleSpace.

How do I move the camera?

  • You can left-click and drag inside the window to ‘orbit’ the camera’s ‘anchor point’ (at initialization this is [0 0 0], Myrtle’s default location).
  • You can right-click and drag left or right to rotate the camera, drag up and down to zoom in and out.
  • You can click both buttons and drag to move the camera up, down, left or right

How do I move the camera programmatically?

The default ‘camera’ is a turtle named Snappy! You can command Snappy by switching to him by typing:

or

and then commanding him as you would Myrtle (fd 20, rt 90 etc.) If you only want to tell Snappy to do one or a few things, you can also prefix the instruction with his name and a colon (this works for any turtle):

How do I create a new turtleSpace?

When turtleSpaces starts up, you begin in a blank turtleSpace. Once you begin building, you can name your turtleSpace using the settitle primitive, eg:

Then type save and press return to ‘save’ your turtleSpace.

turtleSpaces are stored under your username in the ~turtlespaces folder in your home folder.

How do I create a new procedure?

Either in the editor or at the command prompt, you can create new procedures by entering something like the following:

Unlike some other Logos, you can name a procedure whatever you like, but be warned, if you use a name that is already used by another primitive, you will override that primitive (which can be very useful!) If you want to use the built-in primitive in your replacement primitive, prefix it with @ as in:

Read the examples!

It’s important to read through the examples once you have a familiarity with Logo – much of the syntax and language will become crystal clear to you once you do.