| Hamstername: Killer |

|
| Version: 1.51 |
| Autor: Michael Sack |
LabyrinthLauf
public void LabyrinthLauf()
- Die Methode LabyrinthLauf () ist die grösste aller in der Klasse Killer enthaltenen
Methoden, da sich in ihr nach der ersten Rückkehr des Hamsters zum Heimatfeld das gesamte
Leben des Hamsters abspielt. Der erste Teil besteht darin den Hamster vom Heimatfeld zum
letzten bekannten Feld zurück zu bringen. Dazu wird die Liste vom Anfang, bis zum letzten
Feld durchlaufen und das jeweilige Feldinhalt-Objekt der Methode Hamsterbewegen () übergeben um den Hamster zu drehen. Er
darf anschliessend solange einen Schritt nach vorne machen, wie er nicht auf dem letzten
Feld ist. Ist er dort, dreht er sich noch einmal mit Hilfe der Methode Hamsterbewegen (). Im zweiten Teil sind wieder diverse
Bedingungen verknüpft um dem Hamster Entscheidungsfreiraum zu geben. Auf dem letzten Feld
angelangt, muss er zunächst überprüfen, ob sich dort noch Korn befindet, wenn ja, dann nimmt er es auf
mit der Methode takeCorn (). Kann er alles aufnehmen und
ist noch nicht voll, dann geht er einen Schritt vor , insofern er sich nicht auf einem
Feld befindet das nur einen Weg besitzt, auf ein neues Feld und startet die Methode Firstrun () und letztendlich die Methode returningHome (), ansonsten startet er zuerst die Methode gehezuVerzweigung () und dann die anderen. Wenn der
Hamster nachdem er das restliche Korn aufgenommen hat, und voll ist, dann geht er mit der
Methode returningHome () zurück. Lag kein Korn auf dem
letzten Feld, dann startet er den Firstrun (). Man braucht hier
nicht zu unterscheiden ob das letzte Feld 1 Weg oder mehrere Wege hat, weil die Methode Fadenändern () diese Aufgabe schon erledigt hat, denn sie hat
mit ihrer Funktionsweise die abgegrasten Wege bereits gelöscht.
-
- (c) Copyright by Michael Sack 2002