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.