Lernpfad:Lerntheke Marsrover/27: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Karte}} {{Inhalt/Lerntheke}}“) |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Karte}} | {{Karte}} | ||
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 <code>act()</code>-Methode), damit er prüfen kann, ob auf dem Feld vor ihm ein Rover steht. | |||
<syntaxhighlight lang="java" lines=""> | |||
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; | |||
} | |||
</syntaxhighlight> | |||
{{Aufgabe:Start|Icon=Greenfoot Rover.png}} | |||
# 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. | |||
{{Aufgabe:End}} | |||
{{Inhalt/Lerntheke}} | {{Inhalt/Lerntheke}} |
Aktuelle Version vom 1. Oktober 2020, 15:29 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