Hamster Dokumentation |
| Hamstername: Killer |
|
| Version: 1.51 | |
| Hamsterdatum: 28.04.2002 | |
| Autor: Michael Sack |
Allgemeines:
Der Hamster Killer ist im Rahmen des Hamsterwettbewerbes entstanden im
Zeitraum zwischen dem 1. und 2. Semester.
Killer breuht auf einem System, welches sich aus zwei Strategien zusammensetzt.
1. Einer eigens für diesen Hamster erschaffenen abstrakten Datenstruktur, die
die Informationen, wie die Wände und
Wege, die sich auf einem Feld befinden und ihre Lage speichert,
sowie Zusatzinformationen, wie ob sich noch Körner darauf befinden speichert.
Zusätzlich besitzt
sie die verschiedensten Berechnungs-Methoden, die die Anzahl der
Rechtsdrehungen, etc. berechnen. Sie ist also das Herzstück des Hamsters.
2. Die Klasse Killer selbst. Sie erweitert die Klasse Hamster, die die gegebene
Grundlage des Hamsters darstellt. Das Konzept des Hamsters besteht darin, einen
Roten Faden vom Heimatfeld durch das Labyrinth zu spannen, ähnlich
einer Stassenkarte. An diesem Roten Faden kann der Hamster sich hin und er bewegen
und ihn gegebenenfalls ändern. Dieser Rote Faden wird durch eine
Liste namens BewegungsFaden implementiert. Sie speichert Instanzen der Datenstruktur
Feldinhalt als Objekte in sich. Dabei funktioniert der Hamster nach dem
Prinzip der "Rechten Hand", d. h. dass er sich immer den Weg aussucht, der für
ihn am
weitesten rechts liegt. Dieser Weg wird von ihm dan als erstes
erforscht, auf jedem Feld. Ist der Weg dann erforscht kehrt der Hamster zur letzten
Verzweigung
zurück, löscht den bekannten Weg aus seinem Gedächtnis, also aus der
Liste BewegungsFaden und nimmt dann den nächsten Weg, der nun am weitesten rechts
von ihm liegt. Dies tut er solange, bis er keine Wege mehr zur Auswahl
hat auf dem StartFeld oder er mehr als eine bestimmte Anzahl an Schritten gemacht
hat,
dann hört er auf und begibt sich in den Winterschlaf. Um einen
OrientierungsPunkt zu haben ist der Hamster so geschrieben, dass er sich egal wann er sich
auf
ein Feld begibt, immerzuerst einmal um 180 Grad, also zu dem Weg dreht
von dem aus er gekommen ist. Im Anschluss erforscht er das Feld. Dazu speichert er die
Informationen über die Lage von Wänden und Wegen in einer internene
Liste der Datenstruktur Feldinhalt ab. Und dreht sich dabei jeweils um eine Kante nach
rechts, bzw. 60 Grad. Ist er auf der urprungsstellung wieder
angekommen, dann dreht er sich zu dem Weg, der vom Hamster die meisten einzelnen
Rechtsdrehungen
verlangt und geht einen Schritt nach vorn.