diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-06-04 06:29:55 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-06-04 06:29:55 (GMT) |
commit | 8718459f0f7f42f9fedf1f7525c52bd7ac16b51b (patch) | |
tree | 99aa2c451de1149763fee3b11906524d87a0ef5e /Demo/turtle/about_turtle.txt | |
parent | 4ed3ed13c5c82f4b46d633cb7f61d6218d6ed320 (diff) | |
download | cpython-8718459f0f7f42f9fedf1f7525c52bd7ac16b51b.zip cpython-8718459f0f7f42f9fedf1f7525c52bd7ac16b51b.tar.gz cpython-8718459f0f7f42f9fedf1f7525c52bd7ac16b51b.tar.bz2 |
Patch #1513695: New turtle module, with demos.
Diffstat (limited to 'Demo/turtle/about_turtle.txt')
-rw-r--r-- | Demo/turtle/about_turtle.txt | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Demo/turtle/about_turtle.txt b/Demo/turtle/about_turtle.txt new file mode 100644 index 0000000..a42800b --- /dev/null +++ b/Demo/turtle/about_turtle.txt @@ -0,0 +1,77 @@ + +======================================================== + 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. + |