Klasse LinkedField

 

Konstruktor:

 

public LinkedField(LFNode homeField)

  Konstruktor zum Erzeugen einer Datenstruktur für eine Labyrinth-Karte

 

Methoden:

 

public void addField( LFNode field, byte direction, String kindOf)

  fügt ein neues Feld hinzu, falls das Nachbarfeld noch  nicht in der Karte existiert. Dabei wird darauf geachtet, ob Klippe oder Wand zwischen den Feldern ist.

 

public LFNode nextNode(LFNode current, byte direction)

  gibt das Feld zurück, welches sich in Richtung direction befindet. Gleichzeitig werden die Koordinaten des Arrays aktualisiert.

 

public void calcXY(byte direction)

  errechnet neue Koordinaten eines Nachbarfeldes in Richtung direction abhängig von der Hamsterposition.

 

public void calctempXY(byte direction)

  errechnet neue Koordinaten eines Nachbarfeldes in Richtung direction abhängig von einer imaginären Position.

 

public void fieldToVisit()

  errechnet die Koordinaten wo sich das nächstgelegene unerkundete oder nicht komplett leere Feld befindet.

 

public boolean isAlready(LFNode field, byte direction)

  gibt true zurück, wenn bereits ein Feld in Richtung direction verlinkt ist.

 

public LFNode isAlreadyPointed(LFNode field, byte direction)

  gibt den Nachbarknoten in Richtung direction zurück; null falls Knoten noch nicht vorhanden.

 

public Stack nextRoute(LFNode field, byte direction)

  gibt Stack zurück in dem sich eine Wegbeschreibung mittels Richtungsangaben für jedes Feld befindet. Dabei wird der kürzeste Weg, der zum nächsten unbesuchten oder nicht leeren Feld gefunden wird, zurückgegeben.

 

public void nextRouteDeep(LFNode field, byte direction, int steps)

  rekursive Methode die den kürzesten Weg sucht.

 

public Stack nextHome(LFNode field, byte direction)

    gibt Stack zurück in dem sich eine Wegbeschreibung mittels Richtungsangaben für jedes Feld befindet. Dabei wird der kürzeste Weg zum Heimatfeld der gefunden wird, zurückgegeben.

 

public void nextHomeDeep(LFNode field, byte direction, int steps)

  rekursive Methode die den kürzesten Weg zum Heimatfeld sucht.

 

public byte calcDir(byte origindir, byte calcDirection)

  gibt Richtung zurück, in die der Hamster schauen würde wenn er sich aus Position origindir  calcDirection-mal drehen würde. Vorzeichen + ist Rechtsdrehung, -Linksdrehung.

 

public Stack reverse(Stack toReverse)

  vertauscht die Richtungsangaben des Stacks toReverse.

 

Zurück zu readme