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
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 |
wert
protected int wert
steinNachfolger
protected Knoten steinNachfolger
leerNachfolger
protected Knoten leerNachfolger
jokerNachfolger
protected Knoten jokerNachfolger
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 RegelnewWert
- Tiefe dieses Knotens im Baum
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
- BlickfeldpositionAgent
- 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