turtle
Class Turtle

java.lang.Object
  extended byturtle.Turtle

public class Turtle
extends java.lang.Object

Turtle

Die Turtle (auch Schildkröte oder Igel genannt) kann sich drehen und bewegen. Dabei erzeugt sie Spuren, die in einem Zeichenfenster dargestellt werden.
Die Orientierung der Turtle wird relativ zur x-Achse bei einer Linksdrehung gemessen. Die Koordinaten und die Richtung sind von Typ double.
Das Zeichenfester muss dem Konstruktor der Turtle als Parameter übergeben werden.
Auf diese Weise können in einem Zeichenfenster die Spuren von mehreren Turtles dargestellt werden.

Version:
Version 1.4 vom 14.11.2003
Author:
Matthias Taulien, © 2003
See Also:
TurtleWindow

Field Summary
static double EAST
          Basis-Richtung: Osten = 0°
static double NORTH
          Basis-Richtung: Norden = 90°
static double SOUTH
          Basis-Richtung: Süden = 270°
static double WEST
          Basis-Richtung: Westen = 180°
 
Constructor Summary
Turtle(java.lang.String name, TurtleWindow tWin)
          Erzeugt eine Turtle in einem Zeichenfenster zum Darstellen der Turtle-Spuren.
Turtle(TurtleWindow tWin)
          Erzeugt eine Turtle in einem Zeichenfenster zum Darstellen der Turtle-Spuren.
 
Method Summary
 void arc(double radius, double deltaPhi)
          Bewegt die Turtle links herum auf einem Kreisbogen.
 void arcLeft(double radius, double deltaPhi)
          Bewegt die Turtle links herum auf einem Kreisbogen.
 void arcRight(double radius, double deltaPhi)
          Bewegt die Turtle rechts herum auf einem Kreisbogen.
 void backward(double len)
          Bewegt die Turtle ein Stück rückwärts.
 void circle(double radius)
          Bewegt die Turtle links herum auf einem Kreis.
 void circleLeft(double radius)
          Bewegt die Turtle links herum auf einem Kreis.
 void circleRight(double radius)
          Bewegt die Turtle rechts herum auf einem Kreis.
 void down()
          Setzt den Zeichenstift runter, es wird eine Spur gezeichnet.
 void forward(double len)
          Bewegt die Turtle ein Stück vorwärts.
 java.awt.Color getColor()
          Gibt die Zeichenfarbe der Turtle zurück.
 java.awt.Font getFont()
          Gibt den Font zurück.
 java.awt.Graphics2D getGraphics()
          Gibt den Grafik-Kontext zurück.
 float getLineWidth()
          Gibt die Linienbreite der Turtle zurück.
 java.lang.String getName()
          Gibt den Turtle-Namen zurück.
 double getOrientation()
          Gibt die Orientierung der Turtle relativ zur x-Achse (0°) bei einer Linksdrehung zurück.
 double getX()
          Gibt die x-Koordinate der Turtle zurück.
 double getY()
          Gibt die y-Koordinate der Turtle zurück.
 void home()
          Setzt die Turtle nach O(0.0/0.0) und ihre Richtung nach Norden (90°).
 boolean isDown()
          Ist der Zeichenstift unten?
 boolean isUp()
          Ist der Zeichenstift oben?
 void jumpTo(double x, double y)
          Setzt die Turtle auf den Punkt P(x/y), dabei wird keine Spur gezeichnet.
 void left(double deltaPhi)
          Dreht die Turtle relativ zur Turtle-Richtung um einen bestimmten Winkel nach links.
 void move(double len)
          Bewegt die Turtle ein Stück vorwärts.
 void moveTo(double x, double y)
          Bewegt die Turtle von ihrem Standpunkt zum Punkt P(x/y).
 void right(double deltaPhi)
          Dreht die Turtle relativ zur Turtle-Richtung um einen bestimmten Winkel nach rechts.
 void setColor(java.awt.Color color)
          Legt die Zeichenfarbe fest.
 void setFont(java.awt.Font font)
          Legt den Font zur Textausgabe fest.
 void setLineWidth(float lineWidth)
          Legt die Linienbreite fest
 void setName(java.lang.String name)
          Legt den Namen der Turtle fest.
 java.lang.String toString()
          Gibt eine Standardbezeichnung ggf. mit Turtle-Namen zurück.
 void turn(double deltaPhi)
          Dreht die Turtle relativ zur Turtle-Richtung um einen bestimmten Winkel.
 void turnTo(double phi)
          Dreht die Turtle absolut in eine bestimmte Richtung.
 void turnTo(double x, double y)
          Dreht die Turtle in Richtung des Punktes P(x/y).
 void up()
          Setzt den Zeichenstift hoch, es wird keine Spur gezeichnet.
 void write(java.lang.String text)
          Schreibt einen Text mit dem eingestellten Font.
 void writeTo(java.lang.String text, double x, double y)
          Schreibt einen Text mit dem eingestellten Font.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EAST

public static final double EAST
Basis-Richtung: Osten = 0°

See Also:
Constant Field Values

NORTH

public static final double NORTH
Basis-Richtung: Norden = 90°

See Also:
Constant Field Values

WEST

public static final double WEST
Basis-Richtung: Westen = 180°

See Also:
Constant Field Values

SOUTH

public static final double SOUTH
Basis-Richtung: Süden = 270°

See Also:
Constant Field Values
Constructor Detail

Turtle

public Turtle(TurtleWindow tWin)
Erzeugt eine Turtle in einem Zeichenfenster zum Darstellen der Turtle-Spuren.
Die Turtle befindet sich am Punkt O(0.0/0.0) und zeigt nach Norden (90°).

Parameters:
tWin - Das Turtle-Fenster
See Also:
TurtleWindow

Turtle

public Turtle(java.lang.String name,
              TurtleWindow tWin)
Erzeugt eine Turtle in einem Zeichenfenster zum Darstellen der Turtle-Spuren.
Die Turtle befindet sich am Punkt O(0.0/0.0) und zeigt nach Norden (90°).

Parameters:
name - der Turtle-Name
tWin - das Turtle-Fenster
See Also:
TurtleWindow
Method Detail

up

public void up()
Setzt den Zeichenstift hoch, es wird keine Spur gezeichnet.


down

public void down()
Setzt den Zeichenstift runter, es wird eine Spur gezeichnet.


isDown

public boolean isDown()
Ist der Zeichenstift unten?

Returns:
true, falls der Zeichenstift unten ist, sonst false.
See Also:
isUp()

isUp

public boolean isUp()
Ist der Zeichenstift oben?

Returns:
true, falls der Zeichenstift oben ist, sonst false.
See Also:
isDown()

home

public void home()
Setzt die Turtle nach O(0.0/0.0) und ihre Richtung nach Norden (90°).


setColor

public void setColor(java.awt.Color color)
Legt die Zeichenfarbe fest.

Parameters:
color - Zeichenfarbe

setLineWidth

public void setLineWidth(float lineWidth)
Legt die Linienbreite fest

Parameters:
lineWidth - Linienbreite

move

public void move(double len)
Bewegt die Turtle ein Stück vorwärts.
Falls der Zeichenstift unten ist, wird eine Spur gezeichnet.
Um mit anderen Turtle-Implementierungen kompatibel zu sein, ist die Funktionsweise die gleiche wie bei forward(double len).

Parameters:
len - Länge der Strecke, die die Turtle zurücklegt.
See Also:
forward(double len), backward(double len)

forward

public void forward(double len)
Bewegt die Turtle ein Stück vorwärts.
Falls der Zeichenstift unten ist, wird eine Spur gezeichnet.

Parameters:
len - Länge der Strecke, die die Turtle zurücklegt.
See Also:
move(double len), backward(double len)

backward

public void backward(double len)
Bewegt die Turtle ein Stück rückwärts.
Falls der Zeichenstift unten ist, wird eine Spur gezeichnet.

Parameters:
len - Länge der Strecke, die die Turtle zurücklegt.
See Also:
move(double len), forward(double len)

turn

public void turn(double deltaPhi)
Dreht die Turtle relativ zur Turtle-Richtung um einen bestimmten Winkel. Die Standard-Drehrichtung ist links.
Um mit anderen Turtle-Implementierungen kompatibel zu sein, ist die Funktionsweise die gleiche wie bei left(double deltaPhi).

Parameters:
deltaPhi - Drehwinkel
See Also:
left(double deltaPhi), right(double deltaPhi)

left

public void left(double deltaPhi)
Dreht die Turtle relativ zur Turtle-Richtung um einen bestimmten Winkel nach links.

Parameters:
deltaPhi - Drehwinkel
See Also:
turn(double deltaPhi), right(double deltaPhi)

right

public void right(double deltaPhi)
Dreht die Turtle relativ zur Turtle-Richtung um einen bestimmten Winkel nach rechts.

Parameters:
deltaPhi - Drehwinkel
See Also:
turn(double deltaPhi), left(double deltaPhi)

moveTo

public void moveTo(double x,
                   double y)
Bewegt die Turtle von ihrem Standpunkt zum Punkt P(x/y). Dabei wird eine Spur gezeichnet, falls der Zeichenstift unten ist.
Außerdem dreht sich die Turtle von ihrem Ausgangspunkt in Richtung des Punktes P(x/y).

Parameters:
x - x-Koordinate von P
y - y-Koordinate von P
See Also:
turnTo(double x, double y), jumpTo(double x, double y)

jumpTo

public void jumpTo(double x,
                   double y)
Setzt die Turtle auf den Punkt P(x/y), dabei wird keine Spur gezeichnet.
Die Richtung der Turtle wird nicht verädert.

Parameters:
x - x-Koordinate von P
y - y-Koordinate von P
See Also:
moveTo(double x, double y)

turnTo

public void turnTo(double phi)
Dreht die Turtle absolut in eine bestimmte Richtung.

Parameters:
phi - Richtung der Turtle
See Also:
turnTo(double x, double y)

turnTo

public void turnTo(double x,
                   double y)
Dreht die Turtle in Richtung des Punktes P(x/y).

Parameters:
x - x-Koordinate von P
y - y-Koordinate von P
See Also:
turnTo(double phi), moveTo(double x, double y)

circle

public void circle(double radius)
Bewegt die Turtle links herum auf einem Kreis. Der Kreismittelpunkt befindet sich aus Sicht der Turtle links vom Standpunkt. Der Kreis schließt sich tangential an die bisherige Turtlespur an.
Um mit anderen Turtle-Implementierungen kompatibel zu sein, ist die Funktionsweise die gleiche wie bei circleLeft(double radius).

Parameters:
radius - Kreisradius
See Also:
circleLeft(double radius), circleRight(double radius)

circleLeft

public void circleLeft(double radius)
Bewegt die Turtle links herum auf einem Kreis. Der Kreismittelpunkt befindet sich aus Sicht der Turtle links vom Standpunkt. Der Kreis schließt sich tangential an die bisherige Turtlespur an.

Parameters:
radius - Kreisradius
See Also:
circle(double radius), circleRight(double radius)

circleRight

public void circleRight(double radius)
Bewegt die Turtle rechts herum auf einem Kreis. Der Kreismittelpunkt befindet sich aus Sicht der Turtle rechts vom Standpunkt. Der Kreis schließt sich tangential an die bisherige Turtlespur an.

Parameters:
radius - Kreisradius
See Also:
circle(double radius), circleLeft(double radius)

arc

public void arc(double radius,
                double deltaPhi)
Bewegt die Turtle links herum auf einem Kreisbogen. Der Mittelpunkt des Kreisbogens befindet sich aus Sicht der Turtle links vom Standpunkt. Der Kreisbogen schließt sich tangential an die bisherige Turtlespur an.
Um mit anderen Turtle-Implementierungen kompatibel zu sein, ist die Funktionsweise die gleiche wie bei arcLeft(double radius, double deltaPhi).

Parameters:
radius - Kreisradius, negative Werte werden als 0.0 interpretiert
deltaPhi - Winkel des Kreisbogens, negative Werte werden als 0.0 interpretiert
See Also:
arcLeft(double, double), arcRight(double, double)

arcLeft

public void arcLeft(double radius,
                    double deltaPhi)
Bewegt die Turtle links herum auf einem Kreisbogen. Der Mittelpunkt des Kreisbogens befindet sich aus Sicht der Turtle links vom Standpunkt. Der Kreisbogen schließt sich tangential an die bisherige Turtlespur an.

Parameters:
radius - Kreisradius, negative Werte werden als 0.0 interpretiert
deltaPhi - Winkel des Kreisbogens, negative Werte werden als 0.0 interpretiert
See Also:
arc(double, double), arcRight(double, double)

arcRight

public void arcRight(double radius,
                     double deltaPhi)
Bewegt die Turtle rechts herum auf einem Kreisbogen. Der Mittelpunkt des Kreisbogens befindet sich aus Sicht der Turtle rechts vom Standpunkt. Der Kreisbogen schließt sich tangential an die bisherige Turtlespur an.

Parameters:
radius - Kreisradius, negative Werte werden als 0.0 interpretiert
deltaPhi - Winkel des Kreisbogens, negative Werte werden als 0.0 interpretiert
See Also:
arc(double, double), arcLeft(double, double)

setFont

public void setFont(java.awt.Font font)
Legt den Font zur Textausgabe fest.

Parameters:
font - Font

writeTo

public void writeTo(java.lang.String text,
                    double x,
                    double y)
Schreibt einen Text mit dem eingestellten Font. Der Text wird nach rechts mit Beginn an die Stelle P(x/y) geschrieben.

Parameters:
text - der darzustellende Text.
x - x-Koordinate des Textanfangs
y - y-Koordinate des Textanfangs
See Also:
setFont(Font), write(String)

write

public void write(java.lang.String text)
Schreibt einen Text mit dem eingestellten Font. Der Text wird nach rechts mit Beginn an der Turtleposition geschrieben.

Parameters:
text - der darzustellende Text.
See Also:
setFont(Font), writeTo(String, double, double)

getColor

public java.awt.Color getColor()
Gibt die Zeichenfarbe der Turtle zurück.

Returns:
Zeichenfarbe

getLineWidth

public float getLineWidth()
Gibt die Linienbreite der Turtle zurück.

Returns:
Linienbreite

getX

public double getX()
Gibt die x-Koordinate der Turtle zurück.

Returns:
x-Koordinate

getY

public double getY()
Gibt die y-Koordinate der Turtle zurück.

Returns:
y-Koordinate

getOrientation

public double getOrientation()
Gibt die Orientierung der Turtle relativ zur x-Achse (0°) bei einer Linksdrehung zurück.

Returns:
Turtle-Richtung zwischen 0° und 360°

getFont

public java.awt.Font getFont()
Gibt den Font zurück.

Returns:
Font

getGraphics

public java.awt.Graphics2D getGraphics()
Gibt den Grafik-Kontext zurück.

Returns:
Grafik-Kontext

setName

public void setName(java.lang.String name)
Legt den Namen der Turtle fest.

Parameters:
name - Turtle-Name

getName

public java.lang.String getName()
Gibt den Turtle-Namen zurück.

Returns:
Turtle-Name

toString

public java.lang.String toString()
Gibt eine Standardbezeichnung ggf. mit Turtle-Namen zurück.

Returns:
Turtle-Bezeichnung