|
|||||||||
| 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 Actions 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 Actions 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)
GameIControllingPlayer, der dieses Spiel "spielt". Er
wird vom Game aufgerufen, Züge abzugeben.
setControllingPlayer in class Gameplayer - ein IControllingPlayerpublic void actionPerformed(Action action)
IGameObserver
actionPerformed in interface IGameObserver
public void receiveChatMessage(int playerID,
java.lang.String message)
IGameObserver
receiveChatMessage in interface IGameObserverplayerID - die ID des abschickenden Spielers, 0-3message - der Text der Nachrichtpublic void timeout()
IControllingPlayer
timeout in interface IControllingPlayerpublic void gameStarted()
IGameObserver
gameStarted in interface IGameObserver
public void newPlayer(java.lang.String name,
int age)
IGameObserver
newPlayer in interface IGameObserverpublic void gameStatusChanged()
IGameObserverWenn 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 IGameObserverpublic void nextRound()
IGameObserver
nextRound in interface IGameObserverpublic void nextPlayer()
IGameObserver
nextPlayer in interface IGameObserverpublic void nextPhase()
IGameObserver
nextPhase in interface IGameObserverpublic void yourTurnNormal()
IControllingPlayer
yourTurnNormal in interface IControllingPlayerpublic void yourTurnMoveKing()
IControllingPlayer
yourTurnMoveKing in interface IControllingPlayerpublic void yourTurnSetFirstKnight()
IControllingPlayer
yourTurnSetFirstKnight in interface IControllingPlayerpublic void gameOver(Player winner)
IGameObserver
gameOver in interface IGameObserverwinner - Der Player, welcher das Spiel gewonnen hat.public void receiveCard(ActionCard card)
IControllingPlayer
receiveCard in interface IControllingPlayercard - die gezogene Kartepublic void sendChatMessage(java.lang.String message)
Game
sendChatMessage in class Gamemessage - 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 | ||||||||