Lernpfad:Lerntheke Marsrover/27: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
Der Mars-Rover ist so alleine. ☹️ Er wünscht sich einen Partner. Kannst du ihm helfen, einen anderen Rover zu finden? | Der Mars-Rover ist so alleine. ☹️ Er wünscht sich einen Partner. Kannst du ihm helfen, einen anderen Rover zu finden? | ||
Kopiere die folgende Anfrage in die Rover-Klasse, damit er prüfen kann, ob auf dem Feld vor ihm ein Rover steht. | Kopiere zuerst die folgende Anfrage in die Rover-Klasse (direkt unter die <code>act()</code>-Methode), damit er prüfen kann, ob auf dem Feld vor ihm ein Rover steht. | ||
<syntaxhighlight lang="java" lines=""> | <syntaxhighlight lang="java" lines=""> | ||
Zeile 14: | Zeile 14: | ||
break; | break; | ||
case 90: | case 90: | ||
r = (Rover) getOneObjectAtOffset(0, 1, Rover.class); | |||
break; | |||
case 180: | case 180: | ||
r = (Rover) getOneObjectAtOffset(-1, 0, Rover.class); | |||
break; | |||
case 270: | case 270: | ||
r = (Rover) getOneObjectAtOffset(0, -1, Rover.class); | |||
break; | |||
} | } | ||
Version vom 30. September 2020, 17:34 Uhr
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