Hamster Dokumentation

 

Hamstername: Killer

bighamster.gif (4244 Byte)

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