CServerGame Class Reference

Spielverwaltung. More...

#include <ServerGame.hpp>

List of all members.

Public Member Functions

 CServerGame (char *szName, u8 nMaxPlayer, bool bAllowLateJoin, bool bAllowVisitors, char *szPassword)
SGameInfo * GetGameInfo ()
bool Join (CServerClient *pPlayer, char *szPassword)
bool Visit (CServerClient *pPlayer)
void Leave (u16 nPlayer)
void Delete ()
 L�scht ein Spiel - Alle Spieler und Zuschauer werden vorher entfernt.
u8 GetPlayerState (u16 nPlayer)
void Chat (CServerClient *pSender, char *szMessage)
bool AddMap (u16 nPlayer, u8 nMapID)
bool RemoveMap (u16 nPlayer, u8 nPosition)
bool GetMapIDByLevel (u8 nLevel, u8 *pnMapID)
bool Start (u16 nPlayer)
bool Die (u16 nPlayer)
 Zeigt an, dass ein Spieler tot ist.
void NextLevel ()
void GetPlayerStats (u16 *pnOrder, SGamePlayerStats *psPlayerStats)
void SetPlayerStats (u16 nPlayer, SGamePlayerStats *psPlayerStats)
void GetPlayerInfo (u16 *pnOrder, SGamePlayerInfo *psPlayerInfos)
void GetPlayer (SPlayerInfo *pPlayerInfos)
SGamePlayer * GetSpecificPlayer (u16 nPlayer)


Detailed Description

Spielverwaltung.

Constructor & Destructor Documentation

CServerGame::CServerGame ( char *  szName,
u8  nMaxPlayer,
bool  bAllowLateJoin,
bool  bAllowVisitors,
char *  szPassword 
)

Konstruktor

Parameters:
szName Spielname
nMaxPlayer Maximale Spieleranzahl
bAllowLateJoin Erlaube das beitreten nachdem das Spiel gestartet wurde
bAllowVisitors Erlaube Zuschauer
szPassword Zugangspasswort

alle Zeichen des Strings auf 0 setzen


Member Function Documentation

SGameInfo * CServerGame::GetGameInfo (  ) 

Gibt Spieleinformationen zur�ck

Returns:
Spieleinformationen

bool CServerGame::Join ( CServerClient pPlayer,
char *  szPassword 
)

Dem Spiel beitreten Der erste Spieler der beitritt wird zum Admin des Spiels

Parameters:
pPlayer Eine Instanz der Client-Kommunikation
szPassword Passwort zum beitritt
Returns:
true wenn beigetreten werden konnte sonst false

Spieler registrieren

bool CServerGame::Visit ( CServerClient pPlayer  ) 

Als Zuschauer registrieren

Parameters:
pPlayer Eine Instanz der Client-Kommunikation
Returns:
true wenn zugeschaut werden kann sonst false

void CServerGame::Leave ( u16  nPlayer  ) 

Verlassen des Spiels

Parameters:
nPlayer Zuschauer oder Mitspieler der das Spiel verl�sst

u8 CServerGame::GetPlayerState ( u16  nPlayer  ) 

Gibt den momentanen Status eines Spielers zur�ck

Parameters:
nPlayer Spieler-ID
Returns:
Der momentane Status

void CServerGame::Chat ( CServerClient pSender,
char *  szMessage 
)

Sendet eine Nachricht an alle Mitspieler (nicht an Zuschauer)

Parameters:
pSender referenz auf sendenden client
szMessage Die zu sendende Nachricht

bool CServerGame::AddMap ( u16  nPlayer,
u8  nMapID 
)

F�gt eine Level zu den zu Spielenden hinzu

Parameters:
nPlayer Aufrufender Spieler (nur Spiel-Admin kann Level hinzuf�gen)
nMapID ID des Levels
Returns:
true wenn Level hinzugef�gt werden konnte sonst false

bool CServerGame::RemoveMap ( u16  nPlayer,
u8  nPosition 
)

Entfernt ein Level aus den zu Spielenden. (Es wird immer das Erste gefundene Level entfernt sollten mehrere vorhanden sein)

Parameters:
nPlayer Aufrufender Spieler (nur Spiel-Admin kann Level entfernen)
nPosition Nummer des Levels in der Reihenfolge der zu spielenden Level
Returns:
true wenn Level entfernt werden konnte sonst false

bool CServerGame::GetMapIDByLevel ( u8  nLevel,
u8 *  pnMapID 
)

Gibt die Karten-ID zu einem Level zurueck

Parameters:
nLevel Level
pnMapID Zeiger an dessen Stelle die Map-ID geschrieben wird
Returns:
true wenn eine Karten-ID gefunden wurde sonst false

bool CServerGame::Start ( u16  nPlayer  ) 

Signalisiert Spielbereitschaft eines Mitspielers

Parameters:
nPlayer Aufrufender Spieler
Returns:
true wenn das Spiel gestartet werden konnte oder false wenn entweder der Spieler nicht teilnimmt am Spiel oder noch keine Karten dem Spiel hinzugefuegt wurden

If all players has called the start method the game state will change to GAME_RUNNING

bool CServerGame::Die ( u16  nPlayer  ) 

Zeigt an, dass ein Spieler tot ist.

If all players are dead, the game must proceed to the next level

void CServerGame::NextLevel (  ) 

Aufgerufen wenn ein Spieler das Ziel erreicht Schickt automatisch neue Karteninfos an die Spieler

void CServerGame::GetPlayerStats ( u16 *  pnOrder,
SGamePlayerStats *  psPlayerStats 
)

Schreibt Spielerinformationen (Momentaner Spielstand) in einem Puffer

Parameters:
pnOrder Ein Puffer in den die ID der Spieler in der Reihenfolge kopiert werden die mit der Reihenfolge der Spielinformationen in psPlayerStats �bereinstimmt
psPlayerStats Puffer in den Spielinformationen geschrieben werden

void CServerGame::SetPlayerStats ( u16  nPlayer,
SGamePlayerStats *  psPlayerStats 
)

Aktualisiert Spielerinformationen eines Spielers

Parameters:
nPlayer Aufrufender Spieler
psPlayerStats Momentaner Spielstand des Spielers

void CServerGame::GetPlayerInfo ( u16 *  pnOrder,
SGamePlayerInfo *  psPlayerInfos 
)

Schreibt Spielerinformationen (Anzahl gewonnener Runden, Rolle im Spiel, Momentaner Status) in einen Puffer

Parameters:
pnOrder Ein Puffer in den die ID der Spieler in der Reihenfolge kopiert werden die mit der Reihenfolge der Spielinformationen in psPlayerInfos �bereinstimmt
psPlayerInfos Puffer in den Spielinformationen geschrieben werden

void CServerGame::GetPlayer ( SPlayerInfo *  pPlayerInfos  ) 

Schreibt Spielerinformationen (SPlayerInfo) jedes Spielers in einen Puffer

Parameters:
pPlayerInfos Der Zielpuffer

SGamePlayer * CServerGame::GetSpecificPlayer ( u16  nPlayer  ) 

Gibt Zeiger auf einen bestimmten Spieler zurueck

Parameters:
nPlayer Spieler-ID


The documentation for this class was generated from the following files:

Generated on Sun Jul 27 21:05:50 2008 for Traxi by  doxygen 1.5.5