Die Hamsterklasse
lookandmove() Methode
look() Methode
goback() Methode
isnearfield() Methode
bringhome() Methode
lookandmove()
Dies ist die Methode für das Sehen und das Bewegen des Hamsters. Er sammelt Körner ein,
sobald er welche auf dem Feld entdeckt. Wenn die Anzahl der Körner im Maul 20 ist, dann geht
er zurück. Dann sieht er sich um, ob Wände vorhanden sind und wenn nicht, ob er bereits auf
Nachbarfeldern war. Danach entscheidet er, wo er lang geht und versucht immer noch nicht
besuchte Felder zu begehen. Dabei wird eine Exception abgefangen, die auftritt, wenn Felder
noch nicht im Kartenarray initialisiert sind. Falls alle angrenzenden Felder besucht sind, oder
überall Wände stehen, dann wird die goback() Methode aufgerufen.
Zurück zum Anfang
look()
Eine einfache Hilfsmethode, um herausgeben zu lassen, ob unbesuchte Felder im Umfeld sind.
Zurück zum Anfang
goback()
Hier kommt der Movestack zum Tragen. Er wird abgetragen bis zum letzten Feld, woran unbesuchte
Felder angrenzen. Dies gewährleistet, dass das gesamte Labyrinth besucht wird.
Zurück zum Anfang
isnearfield()
Eine weitere Hilfsmethode, die überprüft, ob zwei Felder nebeneinander
liegen und ob keine Wand zwischen ihnen liegt.
Zurück zum Anfang
bringhome()
Das Programm arbeitet den Stack ab bis er zuhause ist, löscht ihn aber nicht
und schaut dann ob es auf dem letzten Feld noch weiter geht,
oder dort noch Korn liegt. Falls nicht geht er gleich bis zu dem Feld im Stack,
wo ein unbesuchtes Feld liegt bzw. angrenzt.
Zurück zum Anfang
Der Rest sind Hilfsmethoden, die einfache Berechnungen oder boolische Werte zurück geben.