Turtlegrafik mit Java

HomeAufgabenDruckenJava-Online
Unbenanntes Dokument

Serie 11: Threads


1)

Zwei Turtles zeichnen gleichzeitig eine Figur, die aus Quadraten verschiedener Grösse besteht.

Als Vorlage eignet sich das Beispiel ThreadsEx1.java:

Beispiel im Online-Editor bearbeiten

 

2)

Vier Turtles zeichnen gleichzeitig Treppen und füllen die Fläche unter der Treppenlinie mit ihren Stiftfarben.

Als Vorlage eignet sich das folgende Beispiel:

Beispiel im Online-Editor bearbeiten

 

3)

Mit jedem Mausklick wird eine neue Turtle erzeugt. Das Zeichnen der Blumen erfolt für jede Turtle im eigenen Thread. Dadurch können gleichzeitig beliebig viele zeichnende Turtles erzeugt werden.

Als Vorlage eignet sich folgendes Beispiel:

Beispiel im Online-Editor bearbeiten

 

4) In der Serie 8 hast du folgende Aufgabe gelöst:
Zwei Turtles bewegen sich mit zufälligen Strecken und zufälligen Winkeln
z.Bsp: left(-180 + 360 * Math.random()). Wenn sie sich zu Nahe kommen ertönt ein Ton, die beden Turtles löschen Ihre Spuren und danach bewegen sich erneut zufällig.

Ohne Verwendung von Threads können sich zwei Turtles nicht gleichzeitig bewegen. Sie zeichnen abwechlungsweise.

A) Löse diese Aufgabe mit Threads, so dass die beiden Turtles gleichzeitig bewegen.

Als Vorlage eigent sich folgendes Beispiel::

Beispiel im Online-Editor bearbeiten

B) Eine Turtle john bewegt sich nicht zufällig, sondern jeweils um eine kurze Strecke in der Richtung zu Turtle luka (john verfolgt luka). Um die Richtung zu Turtle luka zu bestimmen und zu setzen kannst du die Methoden towards() und heading() verwenden:

double x = luka.getX();
double y = luka.getY();
double w = john.towards(x, y);
john.heading(w);