Package pi.dsa.turtle
Class TurtleGraphics
java.lang.Object
pi.dsa.turtle.TurtleGraphics
- All Implemented Interfaces:
Runnable
- Direct Known Subclasses:
HilbertCurveTurtleGraphics,PythagorasTreeTurtleGraphics,RecursiveSquareTurtleGraphics,SetDirectionTurtleGraphics,SierpinskiCurveTurtleGraphics,SierpinskiTriangleTurtleGraphics,SquareTreeTurtleGraphics,SquareTurtleGraphics,TriangleTurtleGraphics,TurtleGraphicsSeries
Hilfsklasse, um eine Turtle-Grafik zu zeichnen bzw. einen
Turtle-Algorithmus zu formulieren.
Diese abstrakte Klasse kann geerbt werden, um einen Algorithmus zur Zeichnung einer Turtle-Grafik zu formulieren. Folgendes Code-Beispiel illustriert die Verwendung dieser Hilfsklasse:
import pi.dsa.turtle.TurtleAlgorithm;
public class TriangleTurtle extends TurtleGraphics
{
@Override
public void draw()
{
for (int i = 0; i < 3; i++)
{
turtle.move(4);
turtle.rotate(120);
}
}
public static void main(String[] args)
{
new TriangleTurtle().start();
}
}
Da Turtle-Algorithmen oft rekursiv sind, reicht es nicht den Algorithmus in
eine Methode zu schreiben. Die Klasse implementiert auch die
Runnable-Schnittstelle, um lang laufende Algorithmen in einem eigenen
Thread laufen zu lassen und gegenfalls zu stoppen, wenn er zu lange läuft.
- Since:
- 0.38.0
- Author:
- Josef Friedrich
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected final InitialTurtleStateprotected RunnableEine Callback-Funktion, die aufgerufen wird, wenn die Turtle-Grafik fertig gezeichnet wurde.protected TurtleControllerDie Schildkröte, die eine Grafik zeichnet.protected doubleWartet, nachdem die draw-Methode fertig ausgeführt wurde, die angegeben Anzahl an Sekunden bevor zur nächsten Wiederholung übergegangen wird. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voiddraw()In dieser Methode soll der Turtle-Algorithmus formuliert werden.onFinished(Runnable onFinished) voidstart()
-
Field Details
-
turtle
Die Schildkröte, die eine Grafik zeichnet.- Since:
- 0.40.0
-
onFinished
Eine Callback-Funktion, die aufgerufen wird, wenn die Turtle-Grafik fertig gezeichnet wurde.- Since:
- 0.40.0
-
initalState
- Since:
- 0.40.0
-
clearBeforeRun
protected boolean clearBeforeRun- Since:
- 0.40.0
-
waitAfterFinish
protected double waitAfterFinishWartet, nachdem die draw-Methode fertig ausgeführt wurde, die angegeben Anzahl an Sekunden bevor zur nächsten Wiederholung übergegangen wird.- Since:
- 0.40.0
-
-
Constructor Details
-
TurtleGraphics
public TurtleGraphics()
-
-
Method Details
-
draw
protected abstract void draw()In dieser Methode soll der Turtle-Algorithmus formuliert werden.- Since:
- 0.40.0
-
onFinished
- Since:
- 0.40.0
-
start
public void start()- Since:
- 0.40.0
-