Lernpfad:Lerntheke Marsrover/21: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Karte|Hilfe=7,9,10}}
{{Karte|Hilfe=7,9,10}}


* Eigene Anfragen programmieren (ohne lögische Verknüpfungen)
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}}
8.581

Bearbeitungen