Java Reference
In-Depth Information
14.10.3 Beispielprogramm 3
Aufgabe:
Der Hamster befindet sich in einem geschlossenen, rechteckigen Territorium unbekannter Größe. Im
Innern des Territoriums befinden sich keine weiteren Mauern. Auf irgendeinem Feld des Territori-
ums liegt ein Korn. Der Hamster befindet sich anfangs in der linken unteren Ecke mit Blickrichtung
Ost (siehe Beispiele in Abbildung 14.11 (links)). Der Hamster bekommt die Aufgabe, das Korn zu
finden und zu fressen.
Abbildung 14.11: Typische Hamster-Landschaft zu Beispielprogramm 3
Lösungsidee:
Die unten angegebene Lösung der Hamster-Aufgabe basiert auf der Idee, dass der Hamster das
Territorium in zyklischen Kreisen abgrast. Irgendwann stößt er dann zwangsläufig auf das Korn und
frisst es.
Lösung:
int radius = 1;
// speichert die Groesse des aktuellen Radius
void main() {
while (!kornDa()) {
testeEinenKreis();
// nach jeder Runde wird der Radius ein Feld groesser
radius++;
}
nimm();
}
void testeEinenKreis() {
int richtungen = 0;
// ein Kreis besteht aus vier Richtungen
while (!kornDa() && (richtungen < 4)) {
testeEineRichtung();
richtungen++;
}
}
 
Search WWH ::




Custom Search