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
Method Summary |
boolean |
checkPossibility()
Kommando auf Ausfuehrbarkeit pruefen. |
boolean |
execute()
Kommando ausfuehren |
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
m_oTargetField
CField m_oTargetField
- Zielfeld
m_iDistance
int m_iDistance
- Distanz zum Zielfeld
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ü)
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