Lernpfad:Lerntheke Marsrover/21: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Karte|Hilfe=7,9}} | {{Karte|Hilfe=7,9,10}} | ||
Du kannst auch selber den Rover um eigene Anfragen erweitern. Dazu musst du eine ''Methode'' implementieren, die als ''Rückgabe'' einen ''Wahrheitswert'' zurückgibt. | |||
Ein Beispiel könnte so aussehen: | |||
<syntaxhighlight lang="java"> | |||
public boolean huegelVorneVorhanden() { | |||
if( huegelVorhanden("vorne") ) { | |||
return true; | |||
} else { | |||
return false; | |||
} | |||
} | |||
</syntaxhighlight> | |||
{{Aufgabe:Start}} | |||
# Analysiere den Quelltext oben und stelle Vermutungen über die Bedeutung der Schlüsselwörter <code>boolean</code> und <code>return</code> an. Notiere dir Stichpunkte im Heft. | |||
# Vergleiche deine Vermutungen mit den Informationen im Buch auf Seite 219 und 221. | |||
{{Aufgabe:End}} | |||
Du kannst auch bedingte Anweisungen ineinander verschachteln und so komplexere Anfragen programmieren. | |||
<syntaxhighlight lang="java"> | |||
public boolean wasTesteIch() { | |||
if( huegelVorhanden("rechts") ) { | |||
if( huegelVorhanden("links") ) { | |||
return true; | |||
} | |||
} | |||
return false; | |||
} | |||
</syntaxhighlight> | |||
{{Aufgabe:Start}} | |||
Analysiere die oben gezeigte Anfrage und versuche einen passenden Bezeichner für sie zu finden. Erkläre dazu, was die Anfrage überprüft. | |||
{{Aufgabe:End}} | |||
{{Aufgabe:Start|Icon=Greenfoot Rover.png}} | |||
Lade für die Aufgaben die unten gezeigte Karte. | |||
# Implementiere die beiden Anfragen oben im Rover und probiere sie aus. | |||
# Programmiere den Rover in der <code>act()</code>-Methode dann so, dass er bis zum nächsten Hügel geradeaus fährt und auf dem Weg alle Markierungen einsammelt, die zwischen zwei Hügeln liegen. | |||
# Implementiere eine Anfrage <code>public boolean gesteinUndMarkeVorhanden()</code>, die prüft, ob auf dem aktuellen Feld sowohl ein Gestein, als auch eine Marke vorhanden sind. | |||
# Implementiere eine Anfrage <code>public boolean gesteinOderMarkeVorhanden()</code>, die prüft, ob auf dem aktuellen Feld entweder ein Gestein, ''oder'' eine Marke vorhanden sind (oder auch beides). | |||
{{Aufgabe:End}} | |||
{{Roverkarte|.\n.\n.\n.\n....H[.H][.H].H[.H][.H][.H][.H]\n.R.[.M][.G][.M][.G][.G][.M][.GM][.G][GM][.G][.G]H\n....[.H][.H][.H][.H]H.[.H][.H][.H]}} | |||
{{Inhalt/Lerntheke}} | {{Inhalt/Lerntheke}} |
Aktuelle Version vom 1. Oktober 2020, 15:43 Uhr
Du kannst auch selber den Rover um eigene Anfragen erweitern. Dazu musst du eine Methode implementieren, die als Rückgabe einen Wahrheitswert zurückgibt.
Ein Beispiel könnte so aussehen:
public boolean huegelVorneVorhanden() {
if( huegelVorhanden("vorne") ) {
return true;
} else {
return false;
}
}
- Analysiere den Quelltext oben und stelle Vermutungen über die Bedeutung der Schlüsselwörter
boolean
undreturn
an. Notiere dir Stichpunkte im Heft. - Vergleiche deine Vermutungen mit den Informationen im Buch auf Seite 219 und 221.
Du kannst auch bedingte Anweisungen ineinander verschachteln und so komplexere Anfragen programmieren.
public boolean wasTesteIch() {
if( huegelVorhanden("rechts") ) {
if( huegelVorhanden("links") ) {
return true;
}
}
return false;
}
Analysiere die oben gezeigte Anfrage und versuche einen passenden Bezeichner für sie zu finden. Erkläre dazu, was die Anfrage überprüft.
Lade für die Aufgaben die unten gezeigte Karte.
- Implementiere die beiden Anfragen oben im Rover und probiere sie aus.
- Programmiere den Rover in der
act()
-Methode dann so, dass er bis zum nächsten Hügel geradeaus fährt und auf dem Weg alle Markierungen einsammelt, die zwischen zwei Hügeln liegen. - Implementiere eine Anfrage
public boolean gesteinUndMarkeVorhanden()
, die prüft, ob auf dem aktuellen Feld sowohl ein Gestein, als auch eine Marke vorhanden sind. - Implementiere eine Anfrage
public boolean gesteinOderMarkeVorhanden()
, die prüft, ob auf dem aktuellen Feld entweder ein Gestein, oder eine Marke vorhanden sind (oder auch beides).
".\n.\n.\n.\n....H[.H][.H].H[.H][.H][.H][.H]\n.R.[.M][.G][.M][.G][.G][.M][.GM][.G][GM][.G][.G]H\n....[.H][.H][.H][.H]H.[.H][.H][.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