not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
6.6 KiB

  1. TurtleBlocks JS
  2. ===============
  3. Turtle Blocks Javascript is an activity with a
  4. Logo-inspired graphical "turtle" that draws colorful art based on
  5. snap-together visual programming elements. Its "low floor" provides an
  6. easy entry point for beginners. It also has "high ceiling"
  7. programming, graphics, mathematics, and Computer Science features
  8. which will challenge the more adventurous student.
  9. > Note: Turtle Blocks JS closely parallels the Python version of Turtle
  10. > Blocks, the version included in the Sugar distribution. Sugar users
  11. > probably want to use Turtle Blocks rather than Turtle Blocks JS.
  12. ![Turtle Blocks](https://github.com/walterbender/turtleblocksjs/raw/master/screenshots/screenshot.png "Turtle Blocks")
  13. Using Turtle Art JS
  14. -------------------
  15. Turtle Blocks Javascript is designed to run in a browser. Most of the
  16. development has been done in Chrome, but it should also work in
  17. Firefox. You can run it directly from index.html, from a [server
  18. maintained by Sugar Labs](http://turtle.sugarlabs.org), from the
  19. [github
  20. repo](http://rawgit.com/walterbender/turtleblocksjs/master/index.html),
  21. or by setting up a [local
  22. server](https://github.com/walterbender/turtleblocksjs/blob/master/server.md).
  23. Once you've launched it in your browser, start by clicking on (or
  24. dragging) blocks from the Turtle palette. Use multiple blocks to
  25. create drawings; as the turtle moves under your control, colorful
  26. lines are drawn.
  27. You add blocks to your program by clicking on or dragging them from
  28. the palette to the main area. You can delete a block by dragging it
  29. back onto the palette. Click anywhere on a "stack" of blocks to start
  30. executing that stack or by clicking in the Rabbit (fast) or Turtle
  31. (slow) on the Main Toolbar.
  32. Getting Started Documentation
  33. -----------------------------
  34. The basic buttons and basic blocks are explained in detail in [Documentation](https://github.com/walterbender/turtleblocksjs/blob/master/documentation/README.md).
  35. A guide to programming with Turtle Blocks is available in [Turtle Blocks Guide](https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md).
  36. A quick start:
  37. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/fast-button.png'</img>
  38. Run your project at full speed
  39. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/stop-turtle-button.png'</img>
  40. Stop the current project running.
  41. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/clear-button.png'</img>
  42. Clear the screen and return the turtles to their initial positions.
  43. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/palette-button.png'</img>
  44. Hide or show the block palettes.
  45. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/hide-blocks-button.png'</img>
  46. Hide or show the blocks and the palettes.
  47. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/forward.svg'</img>
  48. Moves turtle forward.
  49. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/right.svg'</img>
  50. Turns turtle clockwise (angle in degrees).
  51. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/set_color.svg'</img>
  52. Sets color of the line drawn by the turtle.
  53. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/set_pen_size.svg'</img>
  54. Sets size of the line drawn by the turtle.
  55. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/repeat.svg'</img>
  56. Loops specified number of times.
  57. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/action_flow.svg'</img>
  58. Top of nameable action stack.
  59. <img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/action.svg'</img>
  60. Invokes named action stack.
  61. Google Code-in participant Jasmine Park has created some guides to
  62. using Turtle Blocks: [Turtle Blocks: An Introductory
  63. Manual](http://people.sugarlabs.org/walter/TurtleBlocksIntroductoryManual.pdf)
  64. and [Turtle Blocks: A Manual for Advanced
  65. Blocks](http://people.sugarlabs.org/walter/TurtleBlocksAdvancedBlocksManual.pdf)
  66. Reporting Bugs
  67. --------------
  68. Bugs can be reported in the [Sugar Labs bug
  69. tracker](https://bugs.sugarlabs.org/newticket?component=Turtleart) or
  70. in the [issues
  71. section](https://github.com/walterbender/turtleblocksjs/issues) of
  72. this repository.
  73. Advanced Features
  74. -----------------
  75. Turtle Blocks has a plugin mechanism that is used to add new
  76. blocks. You can learn more about how to use plugins (and how to write
  77. them) from the [Plugins
  78. Guide](https://github.com/walterbender/turtleblocksjs/blob/master/plugins/README.md).
  79. List of Plugins
  80. ---------------
  81. * [Mindstorms](https://github.com/SAMdroid-apps/turtlestorm): blocks to interact with the LEGO Mindstorms robotics kit
  82. * [RoDi](https://github.com/walterbender/turtleblocksjs/blob/master/plugins/rodi.json): blocks to interact with RoDi wireless robot
  83. * [Maths](https://github.com/walterbender/turtleblocksjs/blob/master/maths.json): addition blocks for some more advanced mathematics
  84. * [Translate](https://github.com/walterbender/turtleblocksjs/blob/master/translate.json): blocks for translating strings between languages, e.g., English to Spanish
  85. * [Dictionary](https://github.com/walterbender/turtleblocksjs/blob/master/dictionary.json): a block to look up dictionary definitions
  86. * [Weather](https://github.com/walterbender/turtleblocksjs/blob/master/weather.json): blocks to retrieve global weather forecasts
  87. * [Logic](https://github.com/walterbender/turtleblocksjs/blob/master/logic.json): blocks for bitwise Boolean operations
  88. * [Finance](https://github.com/walterbender/turtleblocksjs/blob/master/finance.json): a block for looking up market prices
  89. * [Bitcoin](https://github.com/walterbender/turtleblocksjs/blob/master/bitcoin.json): a block for looking up bitcoin exchange rates
  90. * [Nutrition](https://github.com/walterbender/turtleblocksjs/blob/master/nutrition.json): blocks for exploring the nutritional content of food
  91. * [Facebook](https://github.com/walterbender/turtleblocksjs/blob/master/facebook.json): a block for publishing a project to Facebook
  92. * [Heap](https://github.com/walterbender/turtleblocksjs/blob/master/heap.json): blocks to support a heap and for loading and saving data
  93. * [Accelerometer](https://github.com/walterbender/turtleblocksjs/blob/master/accelerometer.json): blocks for accessing an accelerometer
  94. * [Turtle](https://github.com/walterbender/turtleblocksjs/blob/master/turtle.json): blocks to support advanced features when using multiple turtles
  95. * [Gmap](https://github.com/walterbender/turtleblocksjs/blob/master/gmap.json): blocks to support generation of Google maps.