Lernpfad:Lerntheke Marsrover/21

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Anfragen

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;
	}
}
Icon Heft.png
Arbeitsauftrag
  1. Analysiere den Quelltext oben und stelle Vermutungen über die Bedeutung der Schlüsselwörter boolean und return an. Notiere dir Stichpunkte im Heft.
  2. 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;
}
Icon Heft.png
Arbeitsauftrag

Analysiere die oben gezeigte Anfrage und versuche einen passenden Bezeichner für sie zu finden. Erkläre dazu, was die Anfrage überprüft.


Greenfoot Rover.png
Arbeitsauftrag

Lade für die Aufgaben die unten gezeigte Karte.

  1. Implementiere die beiden Anfragen oben im Rover und probiere sie aus.
  2. 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.
  3. Implementiere eine Anfrage public boolean gesteinUndMarkeVorhanden(), die prüft, ob auf dem aktuellen Feld sowohl ein Gestein, als auch eine Marke vorhanden sind.
  4. 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).
Kartendaten:
".\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]"