robo.data
Class Move

java.lang.Object
  extended by robo.data.Move

public class Move
extends java.lang.Object

Kapselt einen Pfad für den Roboter, der aus mehreren Wegpunkten (Position) besteht. Enthält Methoden, um einen Move zusammenzubauen, indem eine Position (appendPosition(Position)) oder ein anderer Move (appendMove(Move)) angehängt werden. Mit der Methode simplify() wird der Weg vereinfacht, indem unnötige Schleifen entfernt werden.

Author:
matthiaskummerer

Constructor Summary
Move(int from_x, int from_y, int to_x, int to_y)
          Erzeugt einen Move von A nach B, wobei an A zugegriffen und an B losgelassen wird.
Move(java.util.LinkedList<Position> polyweg)
          Initialisiert einen Move mit der angegebenen Liste von Positionen (Weder die Liste, noch die Positionen werden kopiert!)
Move(java.util.LinkedList<Position> polyweg, boolean copyList)
          Initialisiert einen Move mit der angegebenen Liste von Positionen.
 
Method Summary
 void appendMove(Move move)
          Hängt den übergebenen Move an diesen an.
 void appendPosition(Position pos)
          Hängt die angegebene Position an diesen Move an.
protected  java.lang.Object clone()
           
 Move cloneMove()
          Gibt eine Kopie des Moves zurück, wobei alle Positionen ebenfalls kopiert werden
 java.util.LinkedList<Position> getPolyweg()
          Gibt die Liste der Positionen von diesem Move zurück.
 void simplify()
          Vereinfacht den Weg, indem Schleifen, in denen keine Aktionen außer NICHTS oder UEBERFAHREN vorkommt, gelöscht werden.
 Move toPixel()
          Gibt einen neuen Move zurück, wobei die Positionen in Pixelkoordinaten umgerechnet werden.
 Move toSpielfeld()
          Gibt einen neuen Move zurück, wobei die Positionen in Spielfeldkoordinaten umgerechnet werden.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Move

public Move(int from_x,
            int from_y,
            int to_x,
            int to_y)
Erzeugt einen Move von A nach B, wobei an A zugegriffen und an B losgelassen wird.

Parameters:
from_x -
from_y -
to_x -
to_y -

Move

public Move(java.util.LinkedList<Position> polyweg)
Initialisiert einen Move mit der angegebenen Liste von Positionen (Weder die Liste, noch die Positionen werden kopiert!)

Parameters:
polyweg -

Move

public Move(java.util.LinkedList<Position> polyweg,
            boolean copyList)
Initialisiert einen Move mit der angegebenen Liste von Positionen. Ist copyList true, wird eine neue Liste instanziert, in der Kopien von allen Positionen abgelegt werden.

Parameters:
polyweg -
copyList -
Method Detail

getPolyweg

public java.util.LinkedList<Position> getPolyweg()
Gibt die Liste der Positionen von diesem Move zurück.

Returns:

appendMove

public void appendMove(Move move)
Hängt den übergebenen Move an diesen an. Der übergebene Move darf nicht derselbe wie der Aufrufende sein (m.appendMove(m)). Achtung: Die Positionen werden nicht kopiert!

Parameters:
move -

appendPosition

public void appendPosition(Position pos)
Hängt die angegebene Position an diesen Move an. Achtung: Sie wird nicht kopiert, sondern per Referenz übernommen.

Parameters:
pos -

simplify

public void simplify()
Vereinfacht den Weg, indem Schleifen, in denen keine Aktionen außer NICHTS oder UEBERFAHREN vorkommt, gelöscht werden.


toPixel

public Move toPixel()
Gibt einen neuen Move zurück, wobei die Positionen in Pixelkoordinaten umgerechnet werden. Die Methode kann nicht überprüfen, ob der Weg in Spielfeldkoordinaten vorliegt.

Returns:
neuen Weg in Pixelkoordinaten

toSpielfeld

public Move toSpielfeld()
Gibt einen neuen Move zurück, wobei die Positionen in Spielfeldkoordinaten umgerechnet werden. Die Methode kann nicht überprüfen, ob der Weg in Pixelkoordinaten vorliegt.

Returns:
neuen Weg in Spielkoordinaten

clone

protected java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

cloneMove

public Move cloneMove()
Gibt eine Kopie des Moves zurück, wobei alle Positionen ebenfalls kopiert werden

Returns:

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object