Lernpfad:Lerntheke Marsrover/27
Der Mars-Rover ist so alleine. ☹️ Er wünscht sich einen Partner. Kannst du ihm helfen, einen anderen Rover zu finden?
Kopiere zuerst die folgende Anfrage in die Rover-Klasse (direkt unter die act()
-Methode), damit er prüfen kann, ob auf dem Feld vor ihm ein Rover steht.
public boolean roverVorne() {
Rover r = null;
switch( getRotation() ) {
case 0:
r = (Rover) getOneObjectAtOffset(1, 0, Rover.class);
break;
case 90:
r = (Rover) getOneObjectAtOffset(0, 1, Rover.class);
break;
case 180:
r = (Rover) getOneObjectAtOffset(-1, 0, Rover.class);
break;
case 270:
r = (Rover) getOneObjectAtOffset(0, -1, Rover.class);
break;
}
return r != null;
}
- Leere die Welt und platziere zwei Rover an zufälligen Orten. Programmiere die Rover so, dass sie sich gegenseitig suchen, bis sie sich gefunden haben.
- Programmiere die Rover so, dass sie sich auch auf einer Karte mit einigen von dir platzierten Hindernissen finden.
- Finden sich die Rover auch auf zufällig generierten Karten? Probiere es aus und passe dein Programm gegebenenfalls an.
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