Java Reference
In-Depth Information
Abbildung 15.8: Typische Hamster-Landschaften zu Beispielprogramm 2
// -1: auf keinem der Nachbarfelder
// existiert ein Korn -> Aufgabe geloest
// drehe dich entsprechend oft
while (richtung > 0) {
linksUm();
richtung--;
}
// gefunden, also fressen
vor();
while (kornDa()) {
nimm();
}
} while (true);
// Endlosschleife wird durch obiges return vermieden
}
/*
* ermittelt die Richtung, in die der Hamster sich drehen muss;
* liefert die Anzahl an Linksdrehungen, die der Hamster
* durchfuehren muss, um in die korrekte Richtung zu blicken;
* korrekt ist die Richtung mit der benachbarten Kachel mit
* den meisten Koernern (ohne Seiteneffekte);
* liefert -1, falls kein Nachbarfeld mehr Koerner enthaelt
*/
int ermittleDrehungen() {
int drehungen = 0;
int koernerAnzahl = koernerAnzahlVorn();
int schleifenZaehler = 1;
while (schleifenZaehler <= 3) {
linksUm();
int neueKoernerAnzahl = koernerAnzahlVorn();
if (neueKoernerAnzahl > koernerAnzahl) {
drehungen = schleifenZaehler;
 
Search WWH ::




Custom Search