Lernpfad:Lerntheke Marsrover/19
Zur Navigation springen
Zur Suche springen
Arbeitsauftrag
- Zerlege jeweils das Problem in sinvolle Teilprobleme (mindestens eins). Implementiere dann pro Teilproblem eine Methode und kombiniere die neuen Befehle dann zu einer Gesamtlösung.
1) | Der Rover soll das Gestein analysieren. Dazu soll er dem Weg aus Marken folgen, indem er immer bis zur nächsten Marke fährt und sich nach links dreht. |
Kartendaten:
".\nM....M\n.M.......M\n........G.....M\n.\n.\n...M........M\n.\n...M.M\n.\n.M..........M\nM.....R..M....M" |
2) | Der Rover soll auf jedem Feld eine Marke ablegen. |
Kartendaten:
"HHHHHHHHHHHHHHH\nH...H.........H\nH.........H...H\nH....H........H\nH..........H..H\nH...H.........H\nH.............H\nH......H......H\nH..H..........H\nH........H....H\nHR..H.........H\nHHHHHHHHHHHHHHH" |
Lösung zu 1)
public void act() {
while( !gesteinVorhanden() ) {
fahreZuMarke();
}
analysiereGestein();
}
public void fahreZuMarke() {
while( !markeVorhanden() && !gesteinVorhanden() ) {
fahre();
}
entferneMarke();
drehe("links");
}
Lösung zu 2)
public void act() {
String richtung = "links";
do {
fahreBisHuegel();
fahreUmHuegel();
fahreBisHuegel();
wechseleReihe(richtung);
if( richtung == "links" )
richtung = "rechts";
else
richtung = "links";
} while( !huegelVorhanden("links") );
}
public void fahreBisHuegel() {
while( !huegelVorhanden("vorne") ) {
setzeMarke();
fahre();
}
setzeMarke();
}
public void fahreUmHuegel() {
drehe("links");
if( !huegelVorhanden("vorne") ) {
fahre();
drehe("rechts");
fahre();
fahre();
drehe("rechts");
fahre();
drehe("links");
} else {
drehe("links");
drehe("links");
fahre();
drehe("links");
fahre();
fahre();
drehe("links");
fahre();
drehe("rechts");
}
}
public void wechseleReihe( String pRichtung ) {
drehe(pRichtung);
fahre();
drehe(pRichtung);
}
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