JavaQuest.Server
Class CCmdAttack

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

public class CCmdAttack
extends CCmd

Angriff-Kommando. Über ein zufallsbasiertes System (Würfel) wird ermittelt, ob das Ziel verletzt wurde.

See Also:
Serialized Form

Field Summary
(package private) static int const_iAttackSuccess
          Höchster Wert, der noch als Angriffserfolg gilt
(package private) static int const_iDefendSuccess
          Höchster Wert, der noch als Verteidigungserfolg gilt
(package private) static int const_iDiceSides
          Würfelseiten Werte von 0..(const_iDiceSides-1) werden gewürfelt
(package private) static int const_iHitDamage
          Schaden pro Treffer
protected  CField m_oField
          Anzugreifendes Feld
 
Fields inherited from class JavaQuest.Server.CCmd
m_bExecutable, m_oPlayer, m_oServerProxy, m_strName
 
Constructor Summary
CCmdAttack()
          Default-Konstruktor
CCmdAttack(CServerProxy _oServerProxy, CPlayer _oPlayer, CField _oField)
          Konstruktor mit ServerProxy- und Playerreferenz.
CCmdAttack(CServerProxy _oServerProxy, CPlayer _oPlayer, CField _oField, java.lang.String _strName)
          Konstruktor mit ServerProxy- und Playerreferenz und Name
 
Method Summary
 boolean checkPossibility()
          Angriff auf Ausfuehrbarkeit pruefen.
 boolean execute()
          Kommando ausfuehren.
private  boolean targetInRange()
          Hilfsfunktion um zu pruefen, ob das Ziel auf einem benachbartem Feld steht.
 
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

const_iDiceSides

static final int const_iDiceSides
Würfelseiten Werte von 0..(const_iDiceSides-1) werden gewürfelt

const_iAttackSuccess

static final int const_iAttackSuccess
Höchster Wert, der noch als Angriffserfolg gilt

const_iDefendSuccess

static final int const_iDefendSuccess
Höchster Wert, der noch als Verteidigungserfolg gilt

const_iHitDamage

static final int const_iHitDamage
Schaden pro Treffer

m_oField

protected CField m_oField
Anzugreifendes Feld
Constructor Detail

CCmdAttack

public CCmdAttack()
Default-Konstruktor

CCmdAttack

public CCmdAttack(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 für den Angriff

CCmdAttack

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

execute

public boolean execute()
                throws java.rmi.RemoteException
Kommando ausfuehren. Es wird für den Angreifer und für den Verteidiger ausgewürfelt, wieviel Erfolge sie mit ihren Angriffs-/Verteidigungswürfel erziehlen. Hatte der Angreifer mehr Erfolge, wurde der Verteidiger getroffen.
Overrides:
execute in class CCmd
Returns:
true, wenn Erfolgreich ausgeführt

checkPossibility

public boolean checkPossibility()
Angriff auf Ausfuehrbarkeit pruefen. Dabei wird gecheckt, ob Aktionspunkte verfügbar sind und der Spieler in Reichweite ist.
Overrides:
checkPossibility in class CCmd
Returns:
true, wenn Angriff möglich ist.

targetInRange

private boolean targetInRange()
Hilfsfunktion um zu pruefen, ob das Ziel auf einem benachbartem Feld steht.