Die Sonne bewegt sich.

Radieren, den Stift verschieben, neu zeichnen. Untersuche die drei Teile einer Bewegung, bevor du sie wiederholen lässt.

Was passiert mit der alten Sonne?

Nutze zuerst „Nächster Teil“: Die alte Sonne wird wegradiert, der Stift geht 5 Einheiten nach links, die Sonne wird neu gezeichnet. Danach folgt eine kurze Pause. Sage vor jedem Klick voraus, was du sehen wirst.

„Ein Bewegungsschritt“ führt alle Teile aus. „Schleife starten“ wiederholt sie, solange meinStift.hPosition() > 100 wahr ist.

1000 Millisekunden = 1 Sekunde
SonnenstiftmeinStift.hPosition() 1180
Fertige Bewegungsschritte0

Die Bedingung wird vor jedem Durchlauf geprüft.

Die Positionen der Stifte stehen als Zahlen oberhalb des Bildes.
1280 × 720 · Ursprung oben linksSonnenmitte: y = 140 · Radius: 50

Das Anfangsbild ist gezeichnet. Vermute die Position nach dem ersten Schritt.

Die Befehle zur Bewegung

Die hervorgehobene Zeile zeigt den zuletzt ausgeführten Teil. zeichneSonne() zeichnet einen Kreis genau dort, wo der Stift gerade steht.

Noch kein Bewegungsschritt ausgeführt.

Stiftrichtung: 0° nach rechts. Deshalb bewegt bewegeUm(-5) den Stift nach links. „Zurücksetzen“ entspricht starteNeu(). Ein erneuter Aufruf der Bewegung setzt an der aktuellen Stelle fort.

Positionen nachverfolgen
Die letzten sechs Schritte und Prüfungen. Das Anfangsbild ist kein Bewegungsschritt.
SchrittSonne
vorher → nachher
Bedingung
vorher

hoch(), runter() oder normal()?
radiere()
Der Stift zeichnet im Radiermodus. Dabei kommt der weiße Bildschirmhintergrund zum Vorschein.
hoch()
Der Stift zeichnet beim Bewegen keine Verbindungslinie.
normal()
Der Stift beendet den Radiermodus und zeichnet wieder in seiner eingestellten Farbe.
runter()
Der Stift zeichnet beim Bewegen wieder Linien. Ein Kreis wird auch bei angehobenem Stift gezeichnet.
hPosition()
Der Stift liefert seine aktuelle waagerechte Position.
meineUhr.warte(20)
Die Uhr wartet 20 Millisekunden. Eine längere Pause macht die Bewegung langsamer; die Schrittweite bleibt gleich.
Was zeichnet zeichneSonne()?
public void zeichneSonne()
{
    meinStift.setzeFarbe(Farbe.GELB);
    meinStift.setzeFuellmuster(Muster.GEFUELLT);
    meinStift.zeichneKreis(50);
}

Die Methode verändert weder die Stiftposition noch den Zeichenmodus. Deshalb kann dieselbe Methode die Sonne zeichnen und im Radiermodus wieder entfernen.

Wo ist der Himmel geblieben?

Bewege die Sonne ein Stück. Beschreibe die Spur hinter ihr. Der Himmel wurde als blaues Rechteck gezeichnet; der eigentliche Bildschirmhintergrund ist weiß.

Deine Aufgabe: Überlege, wie die Sonne weiterwandern könnte, ohne dass der Himmel verschwindet. Notiere eine Idee und prüfe sie in eurem BlueJ-Projekt.

Wechselt die Rollen: Eine Person erklärt ihre Vermutung, die andere bedient das Programm.