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.
boolean huegelVorhanden( String pRichtung )- prüft, ob in der angegebenen Richtung ein Hügel vorhanden ist.boolean gesteinVorhanden()- prüft, ob auf dem aktuellen Feld des Rovers ein Gestein vorhanden ist.boolean markeVorhanden()- prüft, ob auf dem aktuellen Feld des Rovers eine Marke vorhanden ist.
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
