de.torfu.kabayellow.common
Class NullControllingPlayer

java.lang.Object
  |
  +--de.torfu.kabayellow.common.NullControllingPlayer
All Implemented Interfaces:
IControllingPlayer

public class NullControllingPlayer
extends java.lang.Object
implements IControllingPlayer

Ein Nullobjekt, dass von Game verwendet wird, wenn kein IControllingPlayer registriert ist.


Constructor Summary
NullControllingPlayer()
           
 
Method Summary
static IControllingPlayer getInstance()
          Singleton Pattern
 void receiveCard(ActionCard card)
          Wird aufgerufen, nachdem der AbstractPlayer eine ActionBuyCard ausgeführt hat.
 void timeout()
          Wird aufgerufen, wenn der AbstractPlayer innerhalb der vorgeschriebenen Bedenkzeit seinen Zug nicht beendet hat.
 void yourTurnMoveKing()
          Wird aufgerufen, um dem AbstractPlayer mitzuteilen, dass er den König versetzen soll.
 void yourTurnNormal()
          Wird aufgerufen, um dem AbstractPlayer mitzuteilen, dass er mit einem normalen Zug an der Reihe ist.
 void yourTurnSetFirstKnight()
          Wird aufgerufen, um dem AbstractPlayer mitzuteilen, dass er einen Ritter einsetzen soll.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullControllingPlayer

public NullControllingPlayer()
Method Detail

yourTurnNormal

public void yourTurnNormal()
Description copied from interface: IControllingPlayer
Wird aufgerufen, um dem AbstractPlayer mitzuteilen, dass er mit einem normalen Zug an der Reihe ist. Nachdem die Methode aufgerufen wurde, kann der AbstractPlayer Action-Objekte erzeugen und diese mit execute() ausführen. Wenn er mit seinem Zug fertig ist, muss er ein ActionEndTurn-Objekt erzeugen und ausführen, um seinen Zug zu beenden.

Specified by:
yourTurnNormal in interface IControllingPlayer
See Also:
IControllingPlayer.yourTurnNormal()

yourTurnMoveKing

public void yourTurnMoveKing()
Description copied from interface: IControllingPlayer
Wird aufgerufen, um dem AbstractPlayer mitzuteilen, dass er den König versetzen soll. Nachdem die Methode aufgerufen wurde, muss er ein ActionMoveKing-Objekt erzeugen und dieses mit execute() ausführen. Damit ist sein Zug beendet.

Specified by:
yourTurnMoveKing in interface IControllingPlayer
See Also:
IControllingPlayer.yourTurnMoveKing()

yourTurnSetFirstKnight

public void yourTurnSetFirstKnight()
Description copied from interface: IControllingPlayer
Wird aufgerufen, um dem AbstractPlayer mitzuteilen, dass er einen Ritter einsetzen soll. Dies geschieht ein mal, vor der ersten Runde. Nachdem die Methode aufgerufen wurde, muss er ein ActionSetFirstKnight-Objekt erzeugen und dieses mit execute() ausführen. Damit ist sein Zug beendet.

Specified by:
yourTurnSetFirstKnight in interface IControllingPlayer
See Also:
IControllingPlayer.yourTurnSetFirstKnight()

timeout

public void timeout()
Description copied from interface: IControllingPlayer
Wird aufgerufen, wenn der AbstractPlayer innerhalb der vorgeschriebenen Bedenkzeit seinen Zug nicht beendet hat. Damit ist der nächste Spieler dran. Nach dem Aufruf von timeout() werden keine Action-Objekte mehr akzeptiert.

Specified by:
timeout in interface IControllingPlayer
See Also:
IControllingPlayer.timeout()

receiveCard

public void receiveCard(ActionCard card)
Description copied from interface: IControllingPlayer
Wird aufgerufen, nachdem der AbstractPlayer eine ActionBuyCard ausgeführt hat. Übergeben wird die Nummer der Karte, die er vom Stapel gezogen hat. Dies ist nur zur Information; die Karte wird auf jeden Fall auch automatisch im Array getGame().getCurrentPlayer().getActionCards() abgelegt.

Specified by:
receiveCard in interface IControllingPlayer
Parameters:
card - die gezogene Karte
See Also:
IControllingPlayer.receiveCard(ActionCard)

getInstance

public static IControllingPlayer getInstance()
Singleton Pattern