/Demo/turtle/about_turtle.txt
http://unladen-swallow.googlecode.com/ · Plain Text · 77 lines · 56 code · 21 blank · 0 comment · 0 complexity · 147b4431a08f954d4acec59e027149f0 MD5 · raw file
- ========================================================
- A new turtle module for Python
- ========================================================
- Turtle graphics is a popular way for introducing programming to
- kids. It was part of the original Logo programming language developed
- by Wally Feurzig and Seymour Papert in 1966.
- Imagine a robotic turtle starting at (0, 0) in the x-y plane. Give it
- the command turtle.forward(15), and it moves (on-screen!) 15 pixels in
- the direction it is facing, drawing a line as it moves. Give it the
- command turtle.left(25), and it rotates in-place 25 degrees clockwise.
- By combining together these and similar commands, intricate shapes and
- pictures can easily be drawn.
- ----- turtle.py
- This module is an extended reimplementation of turtle.py from the
- Python standard distribution up to Python 2.5. (See: http:\\www.python.org)
- It tries to keep the merits of turtle.py and to be (nearly) 100%
- compatible with it. This means in the first place to enable the
- learning programmer to use all the commands, classes and methods
- interactively when using the module from within IDLE run with
- the -n switch.
- Roughly it has the following features added:
- - Better animation of the turtle movements, especially of turning the
- turtle. So the turtles can more easily be used as a visual feedback
- instrument by the (beginning) programmer.
- - Different turtle shapes, gif-images as turtle shapes, user defined
- and user controllable turtle shapes, among them compound
- (multicolored) shapes. Turtle shapes can be stgretched and tilted, which
- makes turtles zu very versatile geometrical objects.
- - Fine control over turtle movement and screen updates via delay(),
- and enhanced tracer() and speed() methods.
- - Aliases for the most commonly used commands, like fd for forward etc.,
- following the early Logo traditions. This reduces the boring work of
- typing long sequences of commands, which often occur in a natural way
- when kids try to program fancy pictures on their first encounter with
- turtle graphcis.
- - Turtles now have an undo()-method with configurable undo-buffer.
- - Some simple commands/methods for creating event driven programs
- (mouse-, key-, timer-events). Especially useful for programming games.
-
- - A scrollable Canvas class. The default scrollable Canvas can be
- extended interactively as needed while playing around with the turtle(s).
- - A TurtleScreen class with methods controlling background color or
- background image, window and canvas size and other properties of the
- TurtleScreen.
- - There is a method, setworldcoordinates(), to install a user defined
- coordinate-system for the TurtleScreen.
- - The implementation uses a 2-vector class named Vec2D, derived from tuple.
- This class is public, so it can be imported by the application programmer,
- which makes certain types of computations very natural and compact.
- - Appearance of the TurtleScreen and the Turtles at startup/import can be
- configured by means of a turtle.cfg configuration file.
- The default configuration mimics the appearance of the old turtle module.
- - If configured appropriately the module reads in docstrings from a docstring
- dictionary in some different language, supplied separately and replaces
- the english ones by those read in. There is a utility function
- write_docstringdict() to write a dictionary with the original (english)
- docstrings to disc, so it can serve as a template for translations.