8.582
Bearbeitungen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 16: | Zeile 16: | ||
Du hast Methoden mit einem Parameter schon mehrfach benutzt, z.B.: | Du hast Methoden mit einem Parameter schon mehrfach benutzt, z.B.: | ||
* <code>drehe("rechts");</code> | |||
* <code>huegelVorhanden("vorne");</code> | |||
<code>"rechts"</code> und <code>"vorne"</code> sind die Werte, die dem Parameter der Methode übergeben wurden. Du kannst aber zum Beispielk auch <code>drehe("links"):</code> benutzen, also einen anderen Wert übergeben. Im Beispiel oben würdest du die Methode mit einer Zahl aufrufen: <code>fahreMehrfach(5);</code> oder <code>fahreMehrfach(13);</code>. | <code>"rechts"</code> und <code>"vorne"</code> sind die Werte, die dem Parameter der Methode übergeben wurden. Du kannst aber zum Beispielk auch <code>drehe("links"):</code> benutzen, also einen anderen Wert übergeben. Im Beispiel oben würdest du die Methode mit einer Zahl aufrufen: <code>fahreMehrfach(5);</code> oder <code>fahreMehrfach(13);</code>. | ||
{{Aufgabe:Start|Icon=Greenfoot Rover.png}} | |||
# Übernimm die Methode <code>public void fahreMehrfach( int pAnzahl )</code> in deinen Rover und probiere sie aus. | |||
# Implementiere einen Auftrag <code>public void analysiereGesteine( int pAnzahl )</code>, die den Rover vorwärts fahren lässt, bis er <code>pAnzahl</code> Gesteine analysiert hat oder er einen Hügel erreicht. | |||
# Implementiere eine Anfrage <code>public boolean markeNebenan(String pRichtung)</code>, die den Rover prüfen lässt, ob in der übergebenen Richtung ("links" oder "rechts") eine Marke liegt. (Der Rover muss dazu ein Feld in die angegebene Richtung fahren.) | |||
{{Aufgabe:End}} | |||
{{Lösung:Start}} | |||
{{Lösung:End|analysiereGesteine}} | |||
<syntaxhighlight lang="Java"> | |||
public void analysiereGesteine( int pAnzahl ) { | |||
while( pAnzahl > 0 && !huegelVorhanden("vorne") ) { | |||
fahre(); | |||
if( gesteinVorhanden() ) { | |||
analysiereGestein(); | |||
pAnzahl -= 1; | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
{{Inhalt/Lerntheke}} | {{Inhalt/Lerntheke}} | ||
{{Lösung:End|markeNebenan}} | |||
<syntaxhighlight lang="Java"> | |||
public boolean markeNebenan(String pRichtung) { | |||
drehe(pRichtung); | |||
fahre(); | |||
return markeVorhanden(); | |||
} | |||
</syntaxhighlight> | |||
{{Inhalt/Lerntheke}} | |||
{{Aufgabe:Start|Icon=Greenfoot Rover.png}} | |||
# Erweitere Aufgabe 2 so, dass der Rover die Gesteine nicht nur auf einer Gerade sucht, sondern die gesamte Karte absucht. (Überleg dir zunächst eine ''Suchstrategie'', nach der der Rover vorgehen kann.) Du kannst die Karte <code>"karte34_gesteine_suchen"</code> laden. | |||
# Erweitere Aufgabe 3 so, dass der Rover auf seine ursprüngliche Position zurückkehrt. | |||
{{Aufgabe:End}} | |||