Lernpfad:Lerntheke Marsrover/20
Bei der Programmierung kommt es häufig vor, dass der weitere Ablauf des Programms von einer Entscheidung abhängt. Zum Beispiel:
Wenn vorne kein Hügel ist dann fahre, sonst drehe rechts
oder
Wenn gesteinVorhanden() dann analysiereGestein()
Solche Verzweigungen oder Fallunterscheidungen kennst du auch schon von Programmablaufplänen:
Der Rover kann schon einige Entscheidungen treffen. Sie sind in einer besonderen Art von Methoden implementiert: den Anfragen.
- Lade eine Zufallswelt und platziere den Rover an verschiedenen Stellen. Probiere dann die Anfragen des Rovers aus und finde heraus, was sie überprüfen.
In Java werden Verzweigungen mit Bedingten Anweisungen umgesetzt:
if( gesteinVorhanden() ) {
analysiereGestein();
}
Lade für die Aufgaben die unten gezeigte Karte.
- Implementiere in der
act()-Methode einen Algorithmus, der den Rover bis zum nächsten Hügel vorwärts fahren lässt. - Erweitere den Algorithmus so, dass der Rover auf dem Weg alle Gesteine analysiert.
- Erweitere das Programm so, dass auf allen Feldern ohne Gestein eine Marke abgelegt wird.
".\n.\n.\n.\n.\n...R...[.G].[.G][.G][.G][.G][.GH][.GH][.G][.G]H"
Das ist Greenfoot | Der Mars-Rover | Die Welt des Mars-Rover | Das ist Java | Die Rover-Arena | Greenfoot benutzen | Java Syntax | Variablen | Methoden | Bedingte Anweisungen | Schleifen | Objekte | Arrays | Die Fähigkeiten des Rovers | Steine analysieren I | Steine analysieren II | Strukturiertes programmieren | Programme strukturieren I | Programme strukturieren II | Fallunterscheidungen I | Anfragen | Fallunterscheidungen II | Variablen | Objektvariablen | Wiederholungen I | Wiederholungen II | Rover-Liebe | Steine analysieren III | Gefangen im Labyrinth I | Marken-Maler | Fleißige Rover | Gefangen im Labyrinth II | In der Rover-Arena | Parameter
