AB04 - Verzweigungen: Die Figuren treffen Entscheidungen...

Bisher war es einfach. Alles Grüne konnte man fressen. Es gibt aber auch besondere Leckerbissen - Blümchen. Aber aufgepasst: Die blauen sind giftig! Da muss sich ein Schaf schon überlegen, ob es die einfach so fressen möchte.

Ziel: Alternativen in Handlungen erkennen, als FALLS-DANN-SONST-Entscheidungen formulieren und in Programmiersprache umsetzen können. In vielen Situationen sind Anweisungen nur unter bestimmten Bedingungen auszuführen. Folgt ein Schaf einem Gang und trifft auf einen Zaun vor ihm, muss es entscheiden, ob es sich nach links oder rechts drehen soll. Dazu muss es prüfen, ob rechts frei ist. Wenn nicht, muss es links weitergehen.

Derartige Entscheidungen trifft man anhand von Prüfbedingungen, die wie bei den while-Schleifen wahr oder falsch sein können.

Vorsicht:
statt if (Prüfbedingung) then {…}
steht nur if (Prüfbedingung) {…}

Man nennt solche Entscheidungen in der Programmierung auch Verzweigungen. Du kennst sie schon von Scratch (siehe rechts).

Genauso wie bei Scratch, kann auch in Java der else-Teil weggelassen werden.

(A1) Drehe richtigrum

Implementiere die Methode dreheRichtigrum(), die das Schaf nach rechts drehen lässt, wenn dort frei ist. Andernfalls soll es sich nach links drehen.

Teste die Methode an dem Schaf links unten und am Schaf vor dem Teich.

(A2) Gerade aus oder drehen

Implementiere eine Methode, die das Schaf einen Schritt nach vorne machen lässt, wenn dies möglich ist. Andernfalls soll es sich in die freie Richtung drehen.

Hinweis: Du kannst entweder zwei Verzweigungen ineinander verschachteln oder die Methode von Aufgabe 1 nutzen.

(A3) Zurück in den Stall

Die Schafe sollen gemäß den Regeln von Aufgabe 2 laufen, bis sie im Stall ankommen. Sie sind solange nicht im Stall, wie die x-Koordinate nicht 7 oder die y-Koordinate nicht 3 ist. Teste diese Methode an allen vier Schafen. Eines kommt nicht an. Warum?

Hinweis: Zusammengesetzte Bedingungen kann man mit && (= und) bzw. || (=oder) formulieren.

<<< Zurück zu Level 3 AB04 Weiter zu Level 5 >>>