KGameSequence Class Reference

This class takes care of round or move management as well of the gameover condition.Round/move management class. More...

#include <kgamesequence.h>

Collaboration diagram for KGameSequence:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 KGameSequence ()
virtual ~KGameSequence ()
virtual KPlayernextPlayer (KPlayer *last, bool exclusive=true)
 Select the next player in a turn based game.
virtual void setCurrentPlayer (KPlayer *p)
KGamegame () const
KPlayercurrentPlayer () const
void setGame (KGame *game)
 Set the KGame object for this sequence.
virtual int checkGameOver (KPlayer *player)
 Check whether the game is over.

Detailed Description

This class takes care of round or move management as well of the gameover condition.Round/move management class.

It is especially used for round based games. For these games nextPlayer and checkGameOver are the most important methods.

You can subclass KGameSequence and use KGame::setGameSequence to use your own rules. Note that KGame will take ownership and therefore will delete the object on destruction.

Author:
Andreas Beckermann <b_mann@gmx.de>

Definition at line 42 of file kgamesequence.h.


Constructor & Destructor Documentation

KGameSequence::KGameSequence  ) 
 

Definition at line 30 of file kgamesequence.cpp.

KGameSequence::~KGameSequence  )  [virtual]
 

Definition at line 36 of file kgamesequence.cpp.


Member Function Documentation

int KGameSequence::checkGameOver KPlayer player  )  [virtual]
 

Check whether the game is over.

The default implementation always returns 0.

Parameters:
player the player who made the last move
Returns:
anything else but 0 is considered as game over

Definition at line 119 of file kgamesequence.cpp.

Referenced by KGame::checkGameOver().

KPlayer* KGameSequence::currentPlayer  )  const [inline]
 

Definition at line 63 of file kgamesequence.h.

KGame* KGameSequence::game  )  const [inline]
 

Returns:
The KGame object this sequence is for, or NULL if none.

Definition at line 61 of file kgamesequence.h.

Referenced by nextPlayer(), and setGame().

KPlayer * KGameSequence::nextPlayer KPlayer last,
bool  exclusive = true
[virtual]
 

Select the next player in a turn based game.

In an asynchronous game this function has no meaning. Overwrite this function for your own game sequence. Per default it selects the next player in the playerList

Definition at line 50 of file kgamesequence.cpp.

References game(), KPlayer::id(), and KGame::playerList().

Referenced by KGame::nextPlayer().

Here is the call graph for this function:

void KGameSequence::setCurrentPlayer KPlayer p  )  [virtual]
 

Definition at line 45 of file kgamesequence.cpp.

Referenced by KGame::loadgame(), and KGame::playerInputFinished().

void KGameSequence::setGame KGame game  ) 
 

Set the KGame object for this sequence.

This is called automatically by KGame::setGameSequence and you should not call it.

Definition at line 40 of file kgamesequence.cpp.

References game().

Referenced by KGame::setGameSequence().

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Wed Aug 23 18:05:52 2006 for libkdegames by  doxygen 1.4.6