Giter VIP home page Giter VIP logo

turtleblocksjs's Introduction

TurtleBlocks JS

Turtle Blocks Javascript is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on snap-together visual programming elements. Its "low floor" provides an easy entry point for beginners. It also has "high ceiling" programming, graphics, mathematics, and Computer Science features which will challenge the more adventurous student.

Note: Turtle Blocks JS closely parallels the Python version of Turtle Blocks, the version included in the Sugar distribution. Sugar users probably want to use Turtle Blocks rather than Turtle Blocks JS.

Turtle Blocks

Using Turtle Art JS

Turtle Blocks Javascript is designed to run in a browser. Most of the development has been done in Chrome, but it should also work in Firefox. You can run it directly from index.html, from a server maintained by Sugar Labs, from the github repo, or by setting up a local server.

Once you've launched it in your browser, start by clicking on (or dragging) blocks from the Turtle palette. Use multiple blocks to create drawings; as the turtle moves under your control, colorful lines are drawn.

You add blocks to your program by clicking on or dragging them from the palette to the main area. You can delete a block by dragging it back onto the palette. Click anywhere on a "stack" of blocks to start executing that stack or by clicking in the Rabbit (fast) or Turtle (slow) on the Main Toolbar.

Getting Started Documentation

The basic buttons and basic blocks are explained in detail in Documentation.

A guide to programming with Turtle Blocks is available in Turtle Blocks Guide.

A quick start:

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/fast-button.png' Run your project at full speed

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/stop-turtle-button.png' Stop the current project running.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/clear-button.png' Clear the screen and return the turtles to their initial positions.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/palette-button.png' Hide or show the block palettes.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/hide-blocks-button.png' Hide or show the blocks and the palettes.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/forward.svg' Moves turtle forward.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/right.svg' Turns turtle clockwise (angle in degrees).

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/set_color.svg' Sets color of the line drawn by the turtle.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/set_pen_size.svg' Sets size of the line drawn by the turtle.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/repeat.svg' Loops specified number of times.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/action_flow.svg' Top of nameable action stack.

<img src='https://rawgithub.com/walterbender/turtleblocksjs/master/documentation/action.svg' Invokes named action stack.

Google Code-in participant Jasmine Park has created some guides to using Turtle Blocks: Turtle Blocks: An Introductory Manual and Turtle Blocks: A Manual for Advanced Blocks

Reporting Bugs

Bugs can be reported in the Sugar Labs bug tracker or in the issues section of this repository.

Advanced Features

Turtle Blocks has a plugin mechanism that is used to add new blocks. You can learn more about how to use plugins (and how to write them) from the Plugins Guide.

List of Plugins

  • Mindstorms: blocks to interact with the LEGO Mindstorms robotics kit
  • RoDi: blocks to interact with RoDi wireless robot
  • Maths: addition blocks for some more advanced mathematics
  • Translate: blocks for translating strings between languages, e.g., English to Spanish
  • Dictionary: a block to look up dictionary definitions
  • Weather: blocks to retrieve global weather forecasts
  • Logic: blocks for bitwise Boolean operations
  • Finance: a block for looking up market prices
  • Bitcoin: a block for looking up bitcoin exchange rates
  • Nutrition: blocks for exploring the nutritional content of food
  • Facebook: a block for publishing a project to Facebook
  • Heap: blocks to support a heap and for loading and saving data
  • Accelerometer: blocks for accessing an accelerometer
  • Turtle: blocks to support advanced features when using multiple turtles
  • Gmap: blocks to support generation of Google maps.

turtleblocksjs's People

Contributors

walterbender avatar i5o avatar samdroid-apps avatar tchx84 avatar godiard avatar tradzik avatar mikklfr avatar librarianmage avatar khandelwalyash avatar rafaelcor avatar amitjha1412 avatar euanong avatar sneh1234 avatar garyservin avatar mathwhiz avatar drakosvlad avatar ortegaps avatar ebukaabazie avatar ayushwashere avatar rgs1 avatar mrunal-m-n avatar ezequielpereira avatar bhady avatar hemantkasat avatar matiasmartineeez avatar ishan28mkip avatar quozl avatar pauloslomp avatar samswag avatar scimonster avatar

Watchers

James Cloos avatar origamiwolf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.