procedure TInit: initialize turtle system procedure TReset: reset turtle system procedure TDraw: draw with turtle procedure TDrawto: draw to with turtle procedure TSkip: skip with turtle procedure TGoto: goto with turtle procedure TRight: turn turtle right procedure TLeft: turn turtle left procedure TFace: turn turtle to face point procedure TX: turtle x coordinate procedure TY: turtle y coordinate procedure THeading: turtle heading procedure TSave: save turtle state procedure TRestore: restore turtle state
link subturtl
January 30, 1996; Gregg M. Townsend
Requires: Version 9 graphics
See also: turtle.icn
This file is in the public domain.
These procedures implement a simplified subset of the turtle.icn package. The main omissions are scaling, TWindow(), THome(), and high-level primitives like TCircle(). Some procedures accept fewer arguments, omit defaults, or omit the return value. ____________________________________________________________ The procedures are as follows: TDraw(n) -- move forward and draw TSkip(n) -- skip forward without drawing The turtle moves forward n units. n can be negative to move backwards. TDrawto(x, y) -- draw to the point (x,y) The turtle turns and draws a line to the point (x,y). The heading is also set as a consequence of this movement. TGoto(x, y) -- set location The turtle moves to the point (x,y) without drawing. The turtle's heading remains unaltered. TRight(d) -- turn right TLeft(d) -- turn left The turtle turns d degrees to the right or left of its current heading. Its location does not change, and nothing is drawn. TFace(x, y) -- set heading The turtle turns to face directly to face the point (x,y). If the turtle is already at (x,y), the heading does not change. TX() -- query current x position TY() -- query current y position The x- or y-coordinate of the turtle's current location is returned. THeading() -- query heading The turtle's heading (in degrees) is returned. TSave() -- save turtle state TRestore() -- restore turtle state TSave saves the current turtle window, location, and heading on an internal stack. TRestore pops the stack and sets those values, or fails if the stack is empty. TReset() -- clear screen and reinitialize The window is cleared, the turtle moves to the center of the screen without drawing, the heading is set to -90 degrees, and the TRestore() stack is cleared. These actions restore the initial conditions.