2.9.2 Walter und Elsa versuchen den Passo-Doble
 

Eine Turtle ist nicht gerne allein. So geben wir ihr einen Partner. Nennen wir die beiden 'Elsa' und 'Walter'. Bei einem Versuch einen Passo-Doble zu tanzen, scheitern die beiden kläglich. Noch nicht auf ihre Partnerschaft eingestellt, vollführen beide unabhängig voneinander ihre Random-Walks. Damit wir Walter von Elsa unterscheiden können, geben wir ihnen unterschiedliche Farben. Walter erhält die Farbe 'Blau' und Elsa die Farbe 'Rot'. Da beide ihre Farben schon haben sollen, bevor wir das Zeichne!-Button klicken, geben wir den beiden ihre Farbe bereits im Konstruktor, d.h. sie bekommen ihre Farbe beim Plazieren in dem Zeichenfeld. Würden wir das Farbesetzen in der Methode zeichne() unterbringen, würde das Setzen der Farbe unnötigerweise öfters gemacht, und zwar jedes Mal wenn der Zeichne!-Button gedrückt wird.
 
Der Konstruktor

API-Turtle

public PassoDoble(String title) {
   super(title);
   walter = new Turtle(tWin);
   walter.setColor(Color.BLUE);
   elsa = new Turtle(tWin);
   elsa.setColor(Color.RED);
}

Wie die Dokumentation der Turtle (API-Turtle) zeigt, verfügt unsere Klasse Turtle über mehrere Methoden setColor(..). um den Objekten dieser Klasse, also walter und elsa eine Farbe zu verleihen. Wir verwenden die Methode, bei der wir eine Farbenkonstante übergeben können. Als Parameter müssen wir z.B. Color.BLUE bzw Color.RED übergeben.  Wir könnten auch die Methode verwenden, in der wir in der Parameterliste erst die Farbe erzeugen: setColor(new Color(0,0,255)) Von der Wirkung ist dieser Aufruf setColor(Color.BLUE) gleich.

Bleiben noch die Anweisungen für die zeichne()-Methode:
 

Die zeichne()-Methode.

Download:
PassoDoble.java

public void zeichne() {
   walter.right(360*Math.random());
   walter.forward(30*Math.random());
   elsa.right(360*Math.random());
   elsa.forward(30*Math.random());
}
 


 

zu 2.9.3 Der Turtle-Balztanz
zur Startseite www.pohlig.de  (C) MPohlig 2005