Java Reference
In-Depth Information
erklimmeEineStufe();
} while (!vornFrei());
}
void erklimmeEineStufe() {
linksUm();
vor();
rechtsUm();
vor();
}
void rechtsUm() {
kehrt();
linksUm();
}
void kehrt() {
linksUm();
linksUm();
}
10.5 Übungsaufgaben
Nun sind wieder Sie gefordert; denn in diesem Abschnitt werden Ihnen einige Hamster-Aufgaben
gestellt, die sie selbstständig zu lösen haben. Achten Sie darauf, dass bei den Aufgaben in diesem
Kapitel keine Landschaften mehr fest vorgegeben sind, wie in den vergangenen Kapiteln, sondern
dass nur noch spezifische Merkmale von möglichen Ausgangslandschaften angegeben werden. Ihre
Hamster-Programme müssen für alle Landschaften korrekt arbeiten, die dieser Charakterisierung
entsprechen.
Denken Sie sich darüber hinaus selbst weitere Hamster-Aufgaben aus und versuchen Sie, diese zu
lösen. Viel Spaß!
10.5.1 Aufgabe 1
Im Unterschied zu Beispielprogramm 1 aus Abschnitt 10.4.1 soll der Hamster bei dieser Aufgabe
keine Körner einsammeln, sondern ablegen. Seine genaue Aufgabe lautet: Der Hamster steht irgend-
wo in einem abgeschlossenen ansonsten aber mauerlosen rechteckigen Raum unbekannter Größe.
Alle Kacheln sind körnerlos. Der Hamster hat mindestens so viele Körner im Maul, wie es Kacheln
im Raum gibt. Der Hamster soll auf allen Kacheln des Raumes genau ein Korn ablegen und schließ-
lich stehenbleiben. Entwickeln Sie zwei verschiedene Hamster-Programme, die diese Aufgabe lösen.
Abbildung 10.12 skizziert zwei typische Ausgangssituationen für diese Aufgabe.
Search WWH ::




Custom Search