Turtle Art

From OLPC
Revision as of 01:01, 15 November 2007 by IanOsgood (talk | contribs) (add detail and conjecture from examining the source tree)
Jump to navigation Jump to search
Turtleart.png This activity was bundled
TST
Trac print.png Tickets all - active - new
Translate-icon-55px.svg Localization
.POT file NEEDED

OlpcProject.png Brian Silverman

see more templates or propose new

Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on Scratch-like snap-together visual programming elements.

There are many restrictions compared to Logo. User defined procedures can't have parameters. Limited screen real-estate makes building large programs infeasible. Only simple variables are available, no lists or other data-structures.

There are five palettes of program elements available for program construction. Conditions for the If block are a different shape than numeric parameters used by the other blocks.

  • Turtle (green)
    • Clear
    • Forward(n)
    • Back(n)
    • Left(angle)
    • Right(angle)
    • Arc(angle,radius)
    • SetXY(x,y)
    • SetH(heading)
    • Turtle state values (can plug into a parameter)
      • X, Y, heading
  • Pen (cyan)
    • Pen Up
    • Pen Down
    • Set Pen Size(n)
    • Set Color(n)
    • Set Shade(n)
    • Fill Screen(color,shade)
    • Pen state values (can plug into a parameter)
      • Pen size, color, shade
  • Numbers (violet)
    • Values (can plug into a parameter)
      • Number
      • Infix operators(left,right)
        • +, -, *, /, mod
      • Random(min, max)
    • Conditions (oval, plugs into an If block)
      • <, <, = (take two values)
      • and, or, not (take other conditions)
    • Print(n)
  • Flow (orange)
    • Wait(n)
    • Forever[stack] (no continuation)
    • Repeat(n)[stack]
    • If(condition)[then]
    • If(condition)[then][else]
    • Stop (no continuation)
    • Connectors:
      • jog right
      • jog down
  • My blocks (yellow)
    • Named stack - a rhombus which tops a stack, equivalent to a procedure definition (but without parameters).
    • "Stack" - blocks for invoking a named stack (no parameters)
    • Store in "box"(n) - blocks for setting a variable
    • "Box" (plugs into a parameter)
  • My stuff (?)
    • ? (no screenshot, and not in groups, but I see it in the source tree)
    • 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)

There are also some icons at the bottom right for user control:

  • Show/Hide the turtle
  • Eraser
  • Stop (for infinite loops)


<gallery> Image:Turtle0.png|Turtle Art startup screen Image:Turtle1.png|Clicking on the Blocks menu brings the basic tool set into view Image:Turtle2.png|Drag blocks from the menu Image:Turtle3.png|Click on the top block of a stack to execute the stack Image:Turtle4.png|Other blocks can be found under the tabs Image:Turtle5.png| Image:Turtle6.png|Example projects are found on the Projects menu on the upper right of the screen Image:542-turtleart-2.png Image:Turtle-recursion-1.jpg|A recursive algorithm (difficult without parameters)

This article is a stub. You can help the OLPC project by expanding it.