Class Knoten

java.lang.Object
  |
  +--Knoten
Direct Known Subclasses:
Blatt

public class Knoten
extends java.lang.Object

Der Baum, der vom PatternGenerator aufgebaut wird, besteht aus Knoten.
Ein Pattern wird in den Baum eingefügt, indem für einen Index in das Array, das das Pattern repräsentiert, geschaut wird, ob dort ein Stein ist, oder nicht (auch ob ein Wildcard dort steht). Je nachdem wird in einen anderen Teilbaum weitergegangen und der Index um eins erhöht. Es handelt sich um eine triären Baum, die Nachfolger werden unterschieden in "dort ist ein Stein", "dort ist kein Stein" und "dort ist ein Joker"). Wobei "dort" durch den Index angegeben wird. Der Index ist also auch gleichbedeutend mit der Tiefe des Knotens. Stand: 09.07.2001


Field Summary
protected  Knoten jokerNachfolger
           
protected  Knoten leerNachfolger
           
protected  Knoten steinNachfolger
           
protected  int wert
           
 
Constructor Summary
  Knoten()
          Der Konstruktor für einen leeren Baum.
protected Knoten(Rule newRule, int newWert)
          Dieser Konstruktor wird aufgerufen, wenn an dieser Stelle im Baum noch kein Knoten war.
 
Method Summary
 void addRule(Rule newRule)
          Mit dieser Methode wird eine Regel in den Baum eingefügt, wenn ein Knoten bereits existiert.
 java.util.LinkedList getActionFromBlickfeld(Blickfeld view, Koord3D positionAgent)
          Diese Methode liefert für ein Sichtfeld der Ameise alle möglichen Actions als LinkedList indem einfach im Baum abgestiegen wird.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

wert

protected int wert

steinNachfolger

protected Knoten steinNachfolger

leerNachfolger

protected Knoten leerNachfolger

jokerNachfolger

protected Knoten jokerNachfolger
Constructor Detail

Knoten

public Knoten()
Der Konstruktor für einen leeren Baum.

Knoten

protected Knoten(Rule newRule,
                 int newWert)
Dieser Konstruktor wird aufgerufen, wenn an dieser Stelle im Baum noch kein Knoten war. Es wird also die einzufügende Regel und die Tiefe dieses Knotens im Baum benötigt und also auch übergeben.
Parameters:
newRule - einzufügende Regel
newWert - Tiefe dieses Knotens im Baum
Method Detail

getActionFromBlickfeld

public java.util.LinkedList getActionFromBlickfeld(Blickfeld view,
                                                   Koord3D positionAgent)
                                            throws PatternNotFoundInTreeException
Diese Methode liefert für ein Sichtfeld der Ameise alle möglichen Actions als LinkedList indem einfach im Baum abgestiegen wird. Geändert: 25.06.2001 umgestellt auf Joker-betrieb. Energie! 04.07.2001 grosses try-catch um praktisch alle Anweisungen in der Methoded (NullPointer)
Parameters:
view - Blickfeld
positionAgent - Position des Agenten in der Nest
Returns:
LinkedList aller möglichen Actions

addRule

public void addRule(Rule newRule)
             throws PatternNotAddableInTreeException
Mit dieser Methode wird eine Regel in den Baum eingefügt, wenn ein Knoten bereits existiert. Geändert: ?
Parameters:
newRule - einzufügende Regel