summaryrefslogtreecommitdiffstats
path: root/Demo/turtle/about_turtle.txt
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-06-04 06:29:55 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-06-04 06:29:55 (GMT)
commit8718459f0f7f42f9fedf1f7525c52bd7ac16b51b (patch)
tree99aa2c451de1149763fee3b11906524d87a0ef5e /Demo/turtle/about_turtle.txt
parent4ed3ed13c5c82f4b46d633cb7f61d6218d6ed320 (diff)
downloadcpython-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.txt77
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.
+