Java Reference
In-Depth Information
- Auf keinem Feld im Territorium sollen mehr Körner liegen (d.h. der Hamster soll alle
Körner, die anfangs im Territorium liegen, einsammeln)
• bezüglich des Weges des Hamsters:
- Es gibt keine Nebenbedingungen bezüglich des Weges des Hamsters.
12.7.6.2 Lösungsidee
Der Hamster soll die Reihe „abgrasen“, in der er sich gerade befindet. Anschließend soll er testen,
ob sich nördlich von ihm noch eine weitere Reihe befindet. Wenn ja, soll er sich in diese Reihe
begeben und diese Reihe abgrasen. Dieser Vorgang soll solange wiederholt werden, bis der Hamster
die nördliche Begrenzungswand erreicht.
12.7.6.3 Programmcode
/*
* der Hamster soll einzelne Koernerreihen abgrasen,
* solange noch weitere Reihen existieren;
* er unterscheidet dabei, ob er die Reihen von
* Osten oder von Westen aus abgrast
*/
void main() {
ernteEineReiheNachOsten();
while (weitereReiheLinksVomHamsterExistiert()) {
begibDichLinksUmInNaechsteReihe();
ernteEineReiheNachWesten();
if (weitereReiheRechtsVomHamsterExistiert()) {
begibDichRechtsUmInNaechsteReihe();
ernteEineReiheNachOsten();
} else {
kehrt();
}
}
}
/*
* der Hamster soll alle Koerner in einer Reihe einsammeln;
* er laeuft dabei von Westen nach Osten
*/
void ernteEineReiheNachOsten() {
ernteEineReihe();
}
/*
* der Hamster soll alle Koerner in einer Reihe einsammeln;
* er laeuft dabei von Osten nach Westen
*/
void ernteEineReiheNachWesten() {
ernteEineReihe();
Search WWH ::




Custom Search