Line 271: |
Line 271: |
| These blocks are used to control the movements of the turtle. | | These blocks are used to control the movements of the turtle. |
| | | |
− | * clean: clear the screen and position the turtle in the center of the screen, pen down, color red, heading 0
| |
| * forward: move turtle forward | | * forward: move turtle forward |
| * back: move turtle backward | | * back: move turtle backward |
− | * show: draw text or display media object from the Journal | + | * clean: clear the screen and position the turtle in the center of the screen, pen down, color red, heading 0 |
| * left: rotate turtle counterclockwise | | * left: rotate turtle counterclockwise |
| * right: rotate turtle clockwise | | * right: rotate turtle clockwise |
− | * seth: set turtle heading | + | * arc: move turtle along an arc |
| * set xy: set turtle x,y position (0,0) is the center of the screen | | * set xy: set turtle x,y position (0,0) is the center of the screen |
− | * heading: holds current heading value of the turtle (can be used in place of a number block) | + | * seth: set turtle heading |
| * xcor: holds current x-coordinate value of the turtle (can be used in place of a number block) | | * xcor: holds current x-coordinate value of the turtle (can be used in place of a number block) |
| * ycor: holds current y-coordinate value of the turtle (can be used in place of a number block) | | * ycor: holds current y-coordinate value of the turtle (can be used in place of a number block) |
− | * set scale: sets the scale of images displayed with show block | + | * heading: holds current heading value of the turtle (can be used in place of a number block) |
− | * arc: move turtle along an arc
| |
− | | |
− | Only available in Turtle Blocks:
| |
− | * left: holds current x-coordinate value of the left edge of the screen (can be used in place of a number block)
| |
− | * top: holds current y-coordinate value of the top edge of the screen (can be used in place of a number block)
| |
− | * right: holds current x-coordinate value of the right edge of the screen (can be used in place of a number block)
| |
− | * bottom: holds current y-coordinate value of the bottom edge of the screen (can be used in place of a number block)
| |
| | | |
| ====Pen Palette==== | | ====Pen Palette==== |
Line 301: |
Line 293: |
| * fill screen: fill the screen with a color/shade and reposition the turtle in the center of the screen | | * fill screen: fill the screen with a color/shade and reposition the turtle in the center of the screen |
| * pen size: width of the line drawn by the turtle (can be used in place of a number block) | | * pen size: width of the line drawn by the turtle (can be used in place of a number block) |
− | * set text size: scales the text drawn by the show block (found on the Turtle palette)
| |
− | * set color: sets the pen color
| |
− | * set shade: sets the pen shade
| |
− | * color: current pen color (can be used in place of a number block)
| |
− | * shade: current pen shade (can be used in place of a number block)
| |
− | * set gray: sets the gray-level of the pen (Only available in Turtle Blocks)
| |
− | * gray: current pen gray level (can be used in place of a number block) (Only available in Turtle Blocks)
| |
| * start fill: starts a filled polygon (straight sides, not arcs) | | * start fill: starts a filled polygon (straight sides, not arcs) |
| * end fill: ends a fill polygon (straight sides, not arcs) | | * end fill: ends a fill polygon (straight sides, not arcs) |
Line 315: |
Line 300: |
| | | |
| These blocks can be used with the set-pen-color block in place of a number block. | | These blocks can be used with the set-pen-color block in place of a number block. |
| + | * set color: sets the pen color |
| + | * set shade: sets the pen shade |
| + | * set gray: sets the gray-level of the pen (Only available in Turtle Blocks) |
| + | * color: current pen color (can be used in place of a number block) |
| + | * shade: current pen shade (can be used in place of a number block) |
| + | * gray: current pen gray level (can be used in place of a number block) (Only available in Turtle Blocks) |
| | | |
| ====Numbers Palette==== | | ====Numbers Palette==== |
Line 358: |
Line 349: |
| These blocks are for defining variables and subroutines. | | These blocks are for defining variables and subroutines. |
| | | |
− | * action 1: top of action 1 stack (Only available with Turtle Blocks) | + | * start: connects action to toolbar 'Run' button |
− | * action 1: execute action 1 stack (Only available with Turtle Blocks)
| |
− | * action 2: top of action 2 stack (Only available with Turtle Blocks)
| |
− | * action 2: execute action 2 stack (Only available with Turtle Blocks)
| |
− | * action: top of named action stack
| |
− | * action: execute named action stack
| |
| * store in box 1: store a number, string, or media object in box 1 (Only available with Turtle Blocks) | | * store in box 1: store a number, string, or media object in box 1 (Only available with Turtle Blocks) |
| * store in box 2: store a number, string, or media object in box 2 (Only available with Turtle Blocks) | | * store in box 2: store a number, string, or media object in box 2 (Only available with Turtle Blocks) |
Line 371: |
Line 357: |
| * box: current value of named box (can be used in place of a number block) | | * box: current value of named box (can be used in place of a number block) |
| * store in: store a number, string, or media object in a named box | | * store in: store a number, string, or media object in a named box |
− | * start: connects action to toolbar 'Run' button | + | * action: top of named action stack |
| + | * action 1: top of action 1 stack (Only available with Turtle Blocks) |
| + | * action 2: top of action 2 stack (Only available with Turtle Blocks) |
| + | * action: execute named action stack |
| + | * action 2: execute action 2 stack (Only available with Turtle Blocks) |
| + | * action 1: execute action 1 stack (Only available with Turtle Blocks) |
| | | |
| ====Media Palette==== | | ====Media Palette==== |
Line 377: |
Line 368: |
| | | |
| These are a collection of blocks used for displaying media objects, such as images from the Journal. | | These are a collection of blocks used for displaying media objects, such as images from the Journal. |
| + | |
| + | * journal: Sugar Journal media object (used with show block) (also available in Turtle Art) |
| + | * audio: Sugar Journal media object (used with show block) |
| + | * video: Sugar Journal media object (used with show block) |
| + | * description: Sugar Journal description field (used with show block) |
| + | * text: text string (used with show block; also used with box and action blocks) |
| + | * show: draw text or display media object from the Journal |
| + | * set scale: sets the scale of images displayed with show block |
| + | * save picture: save the canvas to the Sugar Journal as a .png image (note: saves the canvas as displayed) |
| + | * save SVG: save turtle graphics to the Sugar Journal as a .svg image (note: only saves the changes to the canvas in the current execution run) |
| + | * scale: sets scale for show block (100% is full-screen) |
| + | * wait for media: used to pause program while audio or video file plays |
| | | |
| ====Sensors Palette==== | | ====Sensors Palette==== |
Line 385: |
Line 388: |
| * read pixel: push the RGB value of the pixel under the turtle onto the FILO (blue is first, red is last) | | * read pixel: push the RGB value of the pixel under the turtle onto the FILO (blue is first, red is last) |
| * turtle sees: the "palette color" of the pixel under the turtle | | * turtle sees: the "palette color" of the pixel under the turtle |
| + | * time: number of seconds since program began |
| * sound: raw data from microphone ranging -32000 to 32000 | | * sound: raw data from microphone ranging -32000 to 32000 |
− | * volume: ranging 0 to 32000 | + | * volume (loudness): ranging 0 to 32000 |
− | * pitch: the resolution is +-8Hz | + | * pitch: the resolution is +-8Hz |
| + | * brightness: average luminance seen through camera |
| + | * camera: grab image from camera |
| | | |
| The OLPC XO can measure external inputs with its microphone jack: | | The OLPC XO can measure external inputs with its microphone jack: |
Line 403: |
Line 409: |
| | | |
| * push: push value onto FILO (first-in last-out) heap | | * push: push value onto FILO (first-in last-out) heap |
− | * pop: pop value off of the FILO (can be used in place of a number block)
| |
| * show heap: show FILO in status block | | * show heap: show FILO in status block |
| * empty heap: empty the FILO | | * empty heap: empty the FILO |
| + | * pop: pop value off of the FILO (can be used in place of a number block) |
| + | * print: print value in status block (also available in Turtle Art) |
| + | * comment: program comment (displayed in "walk" mode) |
| * Python: a [[Activities/TurtleArt-0.88#Python_function_block|programmable block]] (can be used in place of a number block) | | * Python: a [[Activities/TurtleArt-0.88#Python_function_block|programmable block]] (can be used in place of a number block) |
| :: add your own math equation in the block, e.g., sin(x); This block is expandable to support up to three variables, e.g. f(x,y,z) | | :: add your own math equation in the block, e.g., sin(x); This block is expandable to support up to three variables, e.g. f(x,y,z) |
| * Import Python: [[Activities/TurtleArt-0.88#Python_code_block|import Python code]] from the Sugar Journal (a more general-purpose programmable block). This block accepts a single variable x, as an input or up to 3 variables as an array x[0], x[1] and x[2] | | * Import Python: [[Activities/TurtleArt-0.88#Python_code_block|import Python code]] from the Sugar Journal (a more general-purpose programmable block). This block accepts a single variable x, as an input or up to 3 variables as an array x[0], x[1] and x[2] |
− | * comment: program comment (displayed in "walk" mode)
| |
− | * print: print value in status block (also available in Turtle Art)
| |
| * Cartesian: display Cartesian coordinate grid overlay | | * Cartesian: display Cartesian coordinate grid overlay |
| * polar: display polar coordinate grid overlay | | * polar: display polar coordinate grid overlay |
− | * width: screen width (can be used in place of a number block)
| |
− | * height: screen height (can be used in place of a number block)
| |
| * turtle: specify which turtle is active | | * turtle: specify which turtle is active |
| * turtle shell: import a image from the Journal to use as the turtle's 'shell', i.e., replace the turtle with a sprite. | | * turtle shell: import a image from the Journal to use as the turtle's 'shell', i.e., replace the turtle with a sprite. |
Line 426: |
Line 430: |
| These blocks are used to make multimedia presentations only available in Turtle Blocks. | | These blocks are used to make multimedia presentations only available in Turtle Blocks. |
| | | |
− | * journal: Sugar Journal media object (used with show block) (also available in Turtle Art)
| |
− | * audio: Sugar Journal media object (used with show block)
| |
− | * description: Sugar Journal description field (used with show block)
| |
| * hide blocks: hides all blocks and palettes (useful for decluttering the screen during presentations) (also available in Turtle Art) | | * hide blocks: hides all blocks and palettes (useful for decluttering the screen during presentations) (also available in Turtle Art) |
| * show blocks: shows blocks and palettes (useful for resuming programming after a presentation) | | * show blocks: shows blocks and palettes (useful for resuming programming after a presentation) |
| * full screen: goes into full-screen mode (hides Sugar toolbars) | | * full screen: goes into full-screen mode (hides Sugar toolbars) |
− | * save picture: save the canvas to the Sugar Journal as a .png image (note: saves the canvas as displayed)
| |
− | * save SVG: save turtle graphics to the Sugar Journal as a .svg image (note: only saves the changes to the canvas in the current execution run)
| |
− | * wait for media: used to pause program while audio or video file plays
| |
| * list slide: used for bulleted lists; This block is expandable, allowing you to add as many bullets as you need | | * list slide: used for bulleted lists; This block is expandable, allowing you to add as many bullets as you need |
| * picture slides: used for picture slides (1×1, 2×2, 1×2, and 2×1) | | * picture slides: used for picture slides (1×1, 2×2, 1×2, and 2×1) |
| + | Only available in Turtle Blocks: |
| + | * left: holds current x-coordinate value of the left edge of the screen (can be used in place of a number block) |
| + | * top: holds current y-coordinate value of the top edge of the screen (can be used in place of a number block) |
| + | * right: holds current x-coordinate value of the right edge of the screen (can be used in place of a number block) |
| + | * bottom: holds current y-coordinate value of the bottom edge of the screen (can be used in place of a number block) |
| + | * width: screen width (can be used in place of a number block) |
| + | * height: screen height (can be used in place of a number block) |
| ::Note: The slide blocks expand into stacks that can be edited for customized presentations. | | ::Note: The slide blocks expand into stacks that can be edited for customized presentations. |
| | | |