Java Reference
In-Depth Information
}
void testeEinenKreis(int radius) {
int richtungen = 0;
// ein Kreis besteht aus vier Richtungen
while (!kornDa() && (richtungen < 4)) {
testeEineRichtung(radius);
richtungen++;
}
}
void testeEineRichtung(int radius) {
int schritte = 0;
/*
* die Ueberpruefung einer Richtung besteht aus der
* Ueberpruefung von so vielen Feldern, wie der Radius
* des Kreises aktuell betraegt
*/
while (!kornDa() && (schritte < radius) && vornFrei()) {
vor();
schritte++;
}
if (!kornDa()) {
linksUm();
}
}
16.5.3 Beispielprogramm 3
Aufgabe:
ImHamster-Territorium befindet sich ein mit Körnern gefülltes rechteckiges Teilgebiet. Der Hamster
steht irgendwo in diesem Körnerfeld. Er soll das Körnerfeld abgrasen. Abbildung 16.4 skizziert eine
typische Hamster-Landschaft.
Lösungsidee:
Das Problem wird im nachfolgenden Programm folgendermaßen gelöst: Zunächst bestimmt der
Hamster die Größe des Kornfeldes und merkt sich die Ausmaße. Anschließend grast er die einzelnen
Körnerreihen ab, wobei er die ermittelten Werte benutzt.
Lösung:
void main() {
int breite = bestimmeBreite();
linksUm();
int hoehe = bestimmeHoehe();
kehrt();
Search WWH ::




Custom Search