|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--de.torfu.kabayellow.common.Game | +--de.torfu.kabayellow.common.BufferedGame
Wrapper um ein Game
-Objekt, um Züge auf Netzwerk-Spielen
rückgängig machen zu können. Das BufferedGame
-Objekt
meldet sich als Observer an einem anderen Game
an,
und synchronisiert sich automatisch mit diesem. Wenn Action
s auf dem
BufferedGame
ausgeführt werden, dann werden sie
erst einmal zwischengespeichert, und erst bei einer ActionEndTurn
an das darunterliegende Game
weitergeschickt. Dadurch
kann man Action
s erst einmal auf dem BufferedGame
ausführen und rückgängig machen, ohne dass das darunterliegende Spiel
etwas davon merkt.
Geplante Verwendung: als Wrapper um ein NetworkGame
, damit
man in Netzwerkspielen Aktionen rückgängig machen kann.
GameFactory.createUndoGame(Game)
gibt ein BufferedGame
zurück.
Field Summary |
Fields inherited from class de.torfu.kabayellow.common.Game |
CARD_TYPES, INITIAL_ACTION_POINTS, MAX_CARDS, MAX_KNIGHTS |
Constructor Summary | |
BufferedGame(Game realGame)
|
Method Summary | |
void |
actionPerformed(Action action)
Wird aufgerufen, wenn ein beliebiger Spieler eine Action ausgeführt hat. |
void |
gameOver(Player winner)
Wird aufgerufen, wenn das Spiel vorbei ist. |
void |
gameStarted()
Wird einmalig aufgerufen, wenn alle Spieler sich angemeldet haben. |
void |
gameStatusChanged()
Wird nach jeder Änderung des Spielstatus aufgerufen, z.B. wenn der nächste Spieler dran ist, oder wenn ein beliebiger Spieler eine Aktion ausgeführt hat. |
void |
newPlayer(java.lang.String name,
int age)
Wird aufgerufen, wenn sich ein weiterer Spieler anmeldet. |
void |
nextPhase()
Wird aufgerufen, nachdem eine Phase zu Ende ist. |
void |
nextPlayer()
Wird aufgerufen, nachdem ein Spieler seinen Zug beendet hat. |
void |
nextRound()
Wird aufgerufen, nachdem eine Runde zu Ende ist. |
void |
receiveCard(ActionCard card)
Wird aufgerufen, nachdem der AbstractPlayer eine ActionBuyCard ausgeführt hat. |
void |
receiveChatMessage(int playerID,
java.lang.String message)
Wird aufgerufen, wenn ein beliebiger Spieler eine Chat-Nachricht verschickt hat. |
void |
registerCountdownObserver(CountdownObserver obs)
|
void |
sendChatMessage(java.lang.String message)
Ermöglicht es, eine ChatMessage an das Spiel, also an alle teilnehmenden Spieler zu schicken. |
void |
setControllingPlayer(IControllingPlayer player,
java.lang.String name)
Setzt den IControllingPlayer , der dieses Spiel "spielt". |
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 |
public BufferedGame(Game realGame)
Method Detail |
public void setControllingPlayer(IControllingPlayer player, java.lang.String name)
Game
IControllingPlayer
, der dieses Spiel "spielt". Er
wird vom Game aufgerufen, Züge abzugeben.
setControllingPlayer
in class Game
player
- ein IControllingPlayer
public void actionPerformed(Action action)
IGameObserver
actionPerformed
in interface IGameObserver
public void receiveChatMessage(int playerID, java.lang.String message)
IGameObserver
receiveChatMessage
in interface IGameObserver
playerID
- die ID des abschickenden Spielers, 0-3message
- der Text der Nachrichtpublic void timeout()
IControllingPlayer
timeout
in interface IControllingPlayer
public void gameStarted()
IGameObserver
gameStarted
in interface IGameObserver
public void newPlayer(java.lang.String name, int age)
IGameObserver
newPlayer
in interface IGameObserver
public void gameStatusChanged()
IGameObserver
Wenn der AbstractPlayer Informationen darüber haben will, was genau sich geändert hat, muss er statt dieser Methode z.B. nextPlayer() oder actionPerformed() überschreiben.
gameStatusChanged
in interface IGameObserver
public void nextRound()
IGameObserver
nextRound
in interface IGameObserver
public void nextPlayer()
IGameObserver
nextPlayer
in interface IGameObserver
public void nextPhase()
IGameObserver
nextPhase
in interface IGameObserver
public void yourTurnNormal()
IControllingPlayer
yourTurnNormal
in interface IControllingPlayer
public void yourTurnMoveKing()
IControllingPlayer
yourTurnMoveKing
in interface IControllingPlayer
public void yourTurnSetFirstKnight()
IControllingPlayer
yourTurnSetFirstKnight
in interface IControllingPlayer
public void gameOver(Player winner)
IGameObserver
gameOver
in interface IGameObserver
winner
- Der Player
, welcher das Spiel gewonnen hat.public void receiveCard(ActionCard card)
IControllingPlayer
receiveCard
in interface IControllingPlayer
card
- die gezogene Kartepublic void sendChatMessage(java.lang.String message)
Game
sendChatMessage
in class Game
message
- die abzuschickende Nachrichtpublic void registerCountdownObserver(CountdownObserver obs)
registerCountdownObserver
in class Game
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |