dieRennsemmel (extends Hamster)
(Johannes Tümler, MatNr: 162885, 30.04.2002)
Leider habe ich es nicht geschafft, den Hamster zu vollenden, ich habe mich
hauptsächlich auf die Laufroutinen konzentriert, wodurch das Sammeln des Korns absolut
primitiv bis jetzt ausgefallen ist.
Jedoch läuft er (bei mir) reibungslos, er verursachte wärend keine kompletten
Entwicklungsphase nicht eine einzige Kollision.
Ich hoffe nun auch, daß es zu keinen Extensions mehr kommt.
Der Ansatz:
Ich benutze zum Speichern der Felder einen Baum, der jeweils 6 Kindknoten hat.
Jeder dieser Kindknoten ist wiederum ein Feld mit 6 Kindknoten.
Weiterhin benutze ich ein statisches 2-Dimensionales Koordinatensystem mit den
Koordinaten x und y.
Es besitzt also jedes Feld eindeutige Koordinaten, sowie Koordinaten des Vorgängerfeldes,
zur besseren Orientierung.
Das Koordinatensystem berechnet sich wie folgt:
eins nach oben = y+2
eins nach links oben = x-1,y+1
eins nach links unten = x-1,y-1
eins nach unten = y-2
eins nach rechts unten = x+1,y-1
eins nach rechts oben = x+1,y+1
Der übliche Bewegungsablauf sieht folgendermaßen aus:
Nebenbei existieren noch diverse Methoden
Körner sammelt er zwar schon, jedoch bisher maximal 20. (Ich habe noch keine Sammelroutine geschrieben, jedoch ist die Methode Field.pathFinder dafür hervorragend geeignet, in diesem Fall genutzt zu werden (dafür war sie gedacht))
Nun etwas detaillierter zu den einzelnen Klassen:
wichtig: wenn ich z.b. von der Methode setNextUp spreche, so gelten die Aussagen auch für alle weiteren Methoden dieser Art (also setNextLUp, setNextRUp, setNextLDn, setNextRDn, setNextDn)
Die einzelnen Klassen beschrieben:
Die Klasse "Feld" (Field.java)
Die Hauptklasse dieRennsemmel.java
Weiterhin stehen viele Kommentare im Quelltext selbst.
Ich habe mich bemüht, alles möglichst verständlich zu machen, jedoch können im Streß
evtl. Dinge vergessen, oder nicht genügend worden sein, in diesem Fall bitte ich um
Rückmeldung, damit ich dies klären kann.
So, nun viel Spaß damit.
Ich weiß, der Hamster ist nicht perfekt, und den Wettbewerb wird er wohl kaum gewinnen, da er nicht vollendet werden konnte, jedoch sollte es zur Demonstration eines lauffähigen Hamsters (hoffentlich) ausreichend sein.
Mit freundlichen Grüßen,
Johannes Tümler