JavaQuest.Server
Class CCmdMove

java.lang.Object
  |
  +--JavaQuest.Server.CCmd
        |
        +--JavaQuest.Server.CCmdMove
All Implemented Interfaces:
java.io.Serializable

public class CCmdMove
extends CCmd

Das Bewegen-Kommando bewegt den Spieler über die Karte. Dabei findet ein einfacher Algorithmus zur Suche des Weges Verwendung.

See Also:
Serialized Form

Field Summary
(package private)  int m_iDistance
          Distanz zum Zielfeld
(package private)  CField m_oTargetField
          Zielfeld
 
Fields inherited from class JavaQuest.Server.CCmd
m_bExecutable, m_oPlayer, m_oServerProxy, m_strName
 
Constructor Summary
CCmdMove()
          Default-Konstruktor
CCmdMove(CServerProxy _oServerProxy, CPlayer _oPlayer, CField _oField)
          Konstruktor mit ServerProxy- und Playerreferenz.
CCmdMove(CServerProxy _oServerProxy, CPlayer _oPlayer, CField _oField, java.lang.String _strName)
          Konstruktor mit ServerProxy- und Playerreferenz, Name
 
Method Summary
 boolean checkPossibility()
          Kommando auf Ausfuehrbarkeit pruefen.
 boolean execute()
          Kommando ausfuehren
 
Methods inherited from class JavaQuest.Server.CCmd
getName, getPlayer, setName, setPlayer, setServerProxy
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

m_oTargetField

CField m_oTargetField
Zielfeld

m_iDistance

int m_iDistance
Distanz zum Zielfeld
Constructor Detail

CCmdMove

public CCmdMove()
Default-Konstruktor

CCmdMove

public CCmdMove(CServerProxy _oServerProxy,
                CPlayer _oPlayer,
                CField _oField)
Konstruktor mit ServerProxy- und Playerreferenz. Der Name wird mit einem Standardwert gefüllt, der aus den vorhandenen Informationen gebildet wird..
Parameters:
_oServerProxy - Server Proxy Objekt
_oPlayer - Player, von dem das Kommando ausgeführt werden soll.
_oField - Zielfeld

CCmdMove

public CCmdMove(CServerProxy _oServerProxy,
                CPlayer _oPlayer,
                CField _oField,
                java.lang.String _strName)
Konstruktor mit ServerProxy- und Playerreferenz, Name
Parameters:
_oServerProxy - Server Proxy Objekt
_oPlayer - Player, von dem das Kommando ausgeführt werden soll.
_oField - Zielfeld
_strName - Beschreibender Name des Kommandos (für Kontext-Menü)
Method Detail

execute

public boolean execute()
                throws java.rmi.RemoteException
Kommando ausfuehren
Overrides:
execute in class CCmd
Returns:
true, wenn erfolgreich.

checkPossibility

public boolean checkPossibility()
Kommando auf Ausfuehrbarkeit pruefen. Hier wird zunächst geprüft, ob das Zielfeld begehbar ist. Nächster Check ist dann die Bewegungsreichweite des Spielers. Ist sie zu gering, wird das Kommando abgelehnt. Danach werden die direkten Wege zum Ziel (mit einer 90° Drehung geprüft. Komplexere Wege findet die Routine derzeit nicht.
Overrides:
checkPossibility in class CCmd
Returns:
true, wenn Zielfeld erreichbar