de.torfu.kabayellow.common
Interface IControllingPlayer

All Known Implementing Classes:
AbstractPlayer, BufferedGame, NullControllingPlayer

public interface IControllingPlayer

Interface für einen lokalen Spieler (GUI oder KI). GUI und KI müssen dieses Interface implementieren.

Dies Methoden dieses Interfaces werden von der Control aufgerufen, wenn der Spieler am Zug ist, sein Zug wegen Timeout beendet wurde usw.


Method Summary
 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.
 

Method Detail

yourTurnNormal

public void yourTurnNormal()
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.


yourTurnMoveKing

public void yourTurnMoveKing()
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.


yourTurnSetFirstKnight

public void yourTurnSetFirstKnight()
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.


timeout

public void timeout()
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.


receiveCard

public void receiveCard(ActionCard card)
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.

Parameters:
card - die gezogene Karte