Turtle Art: Difference between revisions

From OLPC
Jump to navigation Jump to search
(fix link to source repo)
(add detail and conjecture from examining the source tree)
Line 43: Line 43:
** Set Color(n)
** Set Color(n)
** Set Shade(n)
** Set Shade(n)
** ? (no screenshot)
** Fill Screen(color,shade)
** Pen state values (can plug into a parameter)
*** Pen size, color, shade
*Numbers (violet)
*Numbers (violet)
**Values (can plug into a parameter)
**Values (can plug into a parameter)
***Constant
***Number
***Infix operators(left,right)
***Infix operators(left,right)
**** +, -, *, /
**** +, -, *, /, mod
***Random(min, max) (?)
***Random(min, max)
**Conditions (oval, plugs into an If block)
**Conditions (oval, plugs into an If block)
*** Binary(a,b): =, <
*** <, <, = (take two values)
*** and, or, not (take other conditions)
*** Unary? (no screenshot)
**Print(n)
** ? (no screenshot)
*Flow (orange)
*Flow (orange)
**Wait(n)
**Wait(n)
Line 66: Line 68:
*My blocks (yellow)
*My blocks (yellow)
**Named stack - a rhombus which tops a stack, equivalent to a procedure definition (but without parameters).
**Named stack - a rhombus which tops a stack, equivalent to a procedure definition (but without parameters).
**"Name" - blocks for invoking a named stack (no parameters)
**"Stack" - blocks for invoking a named stack (no parameters)
**Store "box"(n) - blocks for setting a variable
**Store in "box"(n) - blocks for setting a variable
**Named box (plugs into a parameter)
**"Box" (plugs into a parameter)
*My stuff (?)
** ? (no screenshot)
** ? (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)


{{-}}
{{-}}

Revision as of 01:01, 15 November 2007

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.