Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > ea24284f03fd4a8a4b64047514d93f64 > files > 114

lib64kdegames1-devel-3.5.9-2mdv2008.1.x86_64.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">

<head>
  <title>libkdegames: KGame Class Reference (libkdegames)</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <meta http-equiv="Content-Style-Type" content="text/css" />

  <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org"  r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org"  r (n 0 s 0 v 0 l 0))' />

  <meta name="trademark" content="KDE e.V." />
  <meta name="description" content="K Desktop Environment Homepage, KDE.org" />
  <meta name="MSSmartTagsPreventParsing" content="true" />
  <meta name="robots" content="all" />

  <link rel="shortcut icon" href="../../favicon.ico" />

<link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" />



</head>

<body>

<div id="nav_header_top" align="right">
  <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a>

  <a href="../.."><img id="nav_header_logo" alt="Home" align="left" src="../../kde_gear_64.png" border="0" /></a>
  <span class="doNotDisplay">::</span>

  <div id="nav_header_title" align="left">KDE API Reference</div>


</div>

<div id="nav_header_bottom" align="right">
  <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span>
  <div id="nav_header_bottom_right" style="text-align: left;">
/ <a href="../..">API Reference</a>
 / <a href=".">libkdegames</a>
  </div>
</div>


<table id="main" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
      <td valign="top" class="menuheader" height="0"></td>

  <td id="contentcolumn" valign="top" rowspan="2" >
    <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;">
    <a name="content"></a>


<!-- Generated by Doxygen 1.5.5 -->
<div class="contents">
<h1>KGame Class Reference</h1><!-- doxytag: class="KGame" --><!-- doxytag: inherits="KGameNetwork" --><code>#include &lt;<a class="el" href="kgame_8h-source.html">kgame.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for KGame:</div>
<div class="dynsection">

<p><center><img src="classKGame.png" usemap="#KGame_map" border="0" alt=""></center>
<map name="KGame_map">
<area href="classKGameNetwork.html" alt="KGameNetwork" shape="rect" coords="0,0,98,24">
</map>
</div>

<p>
<a href="classKGame-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
The main KDE game object. 
<p>
The <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> class is the central game object. A game basically consists of following features:<ul>
<li>Player handling (add, remove,...)</li><li>Game status (end,start,pause,...)</li><li>load/save</li><li>Move (and message) handling</li><li>nextPlayer and gameOver()</li><li>Network connection (for <a class="el" href="classKGameNetwork.html" title="The KGameNetwork class is the KGame class with network support.">KGameNetwork</a>)</li></ul>
<p>
Example: <div class="fragment"><pre class="fragment"> <a class="code" href="classKGame.html" title="The main KDE game object.">KGame</a> *game=<span class="keyword">new</span> <a class="code" href="classKGame.html" title="The main KDE game object.">KGame</a>;
</pre></div><p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Martin Heni &lt;<a href="mailto:martin@heni-online.de">martin@heni-online.de</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="kgame_8h-source.html#l00062">62</a> of file <a class="el" href="kgame_8h-source.html">kgame.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a9ac22b4ed68ae2fd3a5e5f992e02e62">GamePolicy</a> { <b>PolicyUndefined</b> =  0, 
<b>PolicyClean</b> =  1, 
<b>PolicyDirty</b> =  2, 
<b>PolicyLocal</b> =  3
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#98e4648cdf2a65dd85b0c88b5e6fecaa">GameStatus</a> { <br>
&nbsp;&nbsp;<b>Init</b> =  0, 
<b>Run</b> =  1, 
<b>Pause</b> =  2, 
<b>End</b> =  3, 
<br>
&nbsp;&nbsp;<b>Abort</b> =  4, 
<b>SystemPause</b> =  5, 
<b>Intro</b> =  6, 
<b>UserStatus</b> =  7
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2696a62628c6000e8294fdb38932bce2"></a><!-- doxytag: member="KGame::KGamePlayerList" ref="2696a62628c6000e8294fdb38932bce2" args="" -->
typedef QPtrList&lt; <a class="el" href="classKPlayer.html">KPlayer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>KGamePlayerList</b></td></tr>

<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#26898efd9c4e98b4370eb2974ce916bf">signalReplacePlayerIO</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player, bool *remove)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#e6da242681951a6a31c81b741461d4aa">signalLoadPrePlayers</a> (QDataStream &amp;stream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#e742edf8ec202e57c1ce4f29ce063fbb">signalLoad</a> (QDataStream &amp;stream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#0562d15384ee0aac3c76198e031c7d88">signalSavePrePlayers</a> (QDataStream &amp;stream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#1f224f5c80631e097dd53674b5902ead">signalSave</a> (QDataStream &amp;stream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#816a121a058048380a14f20f62c43b24">signalLoadError</a> (QDataStream &amp;stream, bool network, int cookie, bool &amp;result)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#d7fddd2a094955c174fe74b9935d612d">signalNetworkData</a> (int msgid, const QByteArray &amp;buffer, Q_UINT32 receiver, Q_UINT32 sender)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#35a41c4af1f6fbb289785df205da89ac">signalMessageUpdate</a> (int msgid, Q_UINT32 receiver, Q_UINT32 sender)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#c2bcb04a3188fbfcf7950f0f77cc00ea">signalPlayerLeftGame</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#5a96fef943110e0222f35deaeadefa17">signalPlayerJoinedGame</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#2068f88a82a9a1821a79fe8b4139b74b">signalPropertyChanged</a> (<a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *property, <a class="el" href="classKGame.html">KGame</a> *me)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#58edeeef5380730b150a485888098690">signalGameOver</a> (int status, <a class="el" href="classKPlayer.html">KPlayer</a> *current, <a class="el" href="classKGame.html">KGame</a> *me)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#70906dca3fd8b3b12d21d8512f40f24c">signalClientJoinedGame</a> (Q_UINT32 clientid, <a class="el" href="classKGame.html">KGame</a> *me)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#d8ff978f603e3b09925fa054644e4b18">signalClientLeftGame</a> (int clientID, int oldgamestatus, <a class="el" href="classKGame.html">KGame</a> *me)</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#49717ecf15df38ef18cbbc8e3a14f963">KGame</a> (int cookie=42, QObject *parent=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#eec17a5f29b61cd1a8ac2cfe487f531c">~KGame</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#261690da2c7f85eba7d58f9ce9b6c9d6">Debug</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">KGamePlayerList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#8474f0391a5391f324a4beadbdf1f7cc">playerList</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const KGamePlayerList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#50d63434679bfa840536098e0df3109c">playerList</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">KGamePlayerList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#0abd93f5e7721e73bf7c6a6c31d34861">inactivePlayerList</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const KGamePlayerList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#2a76b878b5ec656778e70e17908c509d">inactivePlayerList</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">KRandomSequence *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#71f36242e2b1f4434c3a4f922f053ca7">random</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKGameSequence.html">KGameSequence</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#fd5ae8bfe5fa7295cb217c4b277f604b">gameSequence</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#936e2a787d244269d92729c0becd27d5">isRunning</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#375c168319228c474bf34e14ca1b6e7d">findPlayer</a> (Q_UINT32 id) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#29cb7b612d73906389bdf431adfc5b9f">setGameSequence</a> (<a class="el" href="classKGameSequence.html">KGameSequence</a> *sequence)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#4e2c90c3dc1aa46435cbd6ab0fd60a85">addPlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *newplayer)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#14dfedf9b7ec581f21f23ce284e3c23f">removePlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#b49c38e1cd04316ef7ecae3033057d89">playerDeleted</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#47d0731f6e8e5c21cbd2815cb9bd564a">activatePlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#aebde7ed2614932926e241f5fbe9976d">inactivatePlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#d2b3c38e4cbec75c927fe12c2f729680">setMaxPlayers</a> (uint maxnumber)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#74f978682fb541539052679b8f9b099c">maxPlayers</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a3acff617d08a869d988e560a9df450f">setMinPlayers</a> (uint minnumber)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">uint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#44c70fd438e7b6683b0a559cbaa9d422">minPlayers</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">uint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a6af008338041efff800345176b132bd">playerCount</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#615bac6991229d407049966b6502bb5f">nextPlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *last, bool exclusive=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#4a7ca7a79b0167817b2ec9ff7d5ead1b">sendPlayerInput</a> (QDataStream &amp;msg, <a class="el" href="classKPlayer.html">KPlayer</a> *player, Q_UINT32 sender=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#704e7453a4876d7f5d764cf7a037ee96">systemPlayerInput</a> (QDataStream &amp;msg, <a class="el" href="classKPlayer.html">KPlayer</a> *player, Q_UINT32 sender=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#0a0d43035f5e73e1f08322420a1b0a8b">createPlayer</a> (int rtti, int io, bool isvirtual)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a64a29f8187b31844636363b3503daa6">load</a> (QDataStream &amp;stream, bool reset=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#1dcd3412cd333591f4b7257edfe1e72a">load</a> (QString filename, bool reset=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#ea69c186609601961a06e70cc59495c5">save</a> (QDataStream &amp;stream, bool saveplayers=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#dee8bcb52af572c38ae9994a71294b2a">save</a> (QString filename, bool saveplayers=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#618c19da64cb15964eff059f07dd3cee">reset</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#ca064da18cdeed7b28e84611bc578669">gameStatus</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a4e4b2f93db4fafd9d70b81cca7c253f">setGameStatus</a> (int status)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a4402ce7203c9488e27d4115491366d1">addProperty</a> (<a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *data)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#137420f5ead4a6957c988c87b7b02a08">sendPlayerProperty</a> (int msgid, QDataStream &amp;s, Q_UINT32 playerId)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#a2353d31b7f16713b239881acfad840a">findProperty</a> (int id) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#f72b744e08ba4187103b2194ef29c324">setPolicy</a> (<a class="el" href="classKGame.html#a9ac22b4ed68ae2fd3a5e5f992e02e62">GamePolicy</a> p, bool recursive=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKGame.html#a9ac22b4ed68ae2fd3a5e5f992e02e62">GamePolicy</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#f5a434f53df573abdea08df31af13ba3">policy</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#26729de80ba7c4880b0b5ff5d24b1589">sendGroupMessage</a> (const QByteArray &amp;msg, int msgid, Q_UINT32 sender, const QString &amp;group)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c00d971e837b24cae61990c7ead56e0e"></a><!-- doxytag: member="KGame::sendGroupMessage" ref="c00d971e837b24cae61990c7ead56e0e" args="(const QDataStream &amp;msg, int msgid, Q_UINT32 sender, const QString &amp;group)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>sendGroupMessage</b> (const QDataStream &amp;msg, int msgid, Q_UINT32 sender, const QString &amp;group)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2395fc70aacc8e512fc07bc01034def0"></a><!-- doxytag: member="KGame::sendGroupMessage" ref="2395fc70aacc8e512fc07bc01034def0" args="(int msg, int msgid, Q_UINT32 sender, const QString &amp;group)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>sendGroupMessage</b> (int msg, int msgid, Q_UINT32 sender, const QString &amp;group)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf86703087cc20dac506fa9758dfea41"></a><!-- doxytag: member="KGame::sendGroupMessage" ref="bf86703087cc20dac506fa9758dfea41" args="(const QString &amp;msg, int msgid, Q_UINT32 sender, const QString &amp;group)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>sendGroupMessage</b> (const QString &amp;msg, int msgid, Q_UINT32 sender, const QString &amp;group)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#3704935a47e1948cf3b8cc6720f39db4">networkTransmission</a> (QDataStream &amp;stream, int msgid, Q_UINT32 receiver, Q_UINT32 sender, Q_UINT32 clientID)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKGamePropertyHandler.html">KGamePropertyHandler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#dcf7c99aac7741d624225e6d815e8885">dataHandler</a> () const </td></tr>

<tr><td colspan="2"><br><h2>Protected Slots</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#8d80618d355a718853e91c026ef173f6">sendProperty</a> (int msgid, QDataStream &amp;stream, bool *sent)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#8c3f6ea2fdc21febf554bcc19fc8b79a">emitSignal</a> (<a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *me)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#2e38ec978f771110f35b7fda4e0251bc">prepareNext</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#b8e3f2a63547b043d61ecc49486e1e50">slotClientConnected</a> (Q_UINT32 clientId)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#bd741f5732b9ac0199152488880fd0f9">slotClientDisconnected</a> (Q_UINT32 clientId, bool broken)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#3ff3fc87c913422fc4668f1654402e05">slotServerDisconnected</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#ea30e25f99812bcfa142183e5271c7bc">playerInput</a> (QDataStream &amp;msg, <a class="el" href="classKPlayer.html">KPlayer</a> *player)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#75a6c4f0a0a870af8fdc510d94dc55b7">playerInputFinished</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#6bb50d094d8486454b758164d37d5c86">newPlayersJoin</a> (KGamePlayerList *oldplayer, KGamePlayerList *newplayer, QValueList&lt; int &gt; &amp;inactivate)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#5968670c95387b4d02a98b9f6238f38b">savePlayers</a> (QDataStream &amp;stream, KGamePlayerList *list=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#dd0924fcdcb5f0b0ce681524c3bd274d">savePlayer</a> (QDataStream &amp;stream, <a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#9ccc7f26e8c7adc9f50df0e64482b20d">loadPlayer</a> (QDataStream &amp;stream, bool isvirtual=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#6d69b904617f27d421d8a7b683d825df">systemInactivatePlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#6f041d0a63a05a6da650a624585995ba">systemActivatePlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#84be8141c24bcea2eb85775e71d4ef81">systemAddPlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *newplayer)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#f91c47be789720893c2576cbbb1d96f1">systemRemovePlayer</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player, bool deleteit)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#35c31c52b2d044c0a2f27d98104c3ed6">negotiateNetworkGame</a> (Q_UINT32 clientID)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#4bfd78fe8cb00e654785a5136b55578e">syncRandom</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4d775f98ed8ea0215655a752108bedc"></a><!-- doxytag: member="KGame::deletePlayers" ref="a4d775f98ed8ea0215655a752108bedc" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>deletePlayers</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0758e9c47d42f679affa7cf4ac2f8510"></a><!-- doxytag: member="KGame::deleteInactivePlayers" ref="0758e9c47d42f679affa7cf4ac2f8510" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>deleteInactivePlayers</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#2952497586346121b9f48a000b7c65a1">checkGameOver</a> (<a class="el" href="classKPlayer.html">KPlayer</a> *player)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#747490e20dd696dafc1947ab7e813349">loadgame</a> (QDataStream &amp;stream, bool network, bool reset)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKGame.html#34de66fb24761c35ceffeaf850c8d986">savegame</a> (QDataStream &amp;stream, bool network, bool saveplayers)</td></tr>

</table>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="a9ac22b4ed68ae2fd3a5e5f992e02e62"></a><!-- doxytag: member="KGame::GamePolicy" ref="a9ac22b4ed68ae2fd3a5e5f992e02e62" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classKGame.html#a9ac22b4ed68ae2fd3a5e5f992e02e62">KGame::GamePolicy</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The policy of the property. 
<p>
This can be PolicyClean (setVale uses send), PolicyDirty (setValue uses changeValue) or PolicyLocal (setValue uses setLocal).<p>
A "clean" policy means that the property is always the same on every client. This is achieved by calling send which actually changes the value only when the message from the MessageServer is received.<p>
A "dirty" policy means that as soon as setValue is called the property is changed immediately. And additionally sent over network. This can sometimes lead to bugs as the other clients do not immediately have the same value. For more information see changeValue.<p>
PolicyLocal means that a <a class="el" href="classKGameProperty.html" title="A class for network transparent games.">KGameProperty</a> behaves like ever "normal" variable. Whenever setValue is called (e.g. using "=") the value of the property is changes immediately without sending it over network. You might want to use this if you are sure that all clients set the property at the same time. 
<p>Definition at line <a class="el" href="kgame_8h-source.html#l00090">90</a> of file <a class="el" href="kgame_8h-source.html">kgame.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="98e4648cdf2a65dd85b0c88b5e6fecaa"></a><!-- doxytag: member="KGame::GameStatus" ref="98e4648cdf2a65dd85b0c88b5e6fecaa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classKGame.html#98e4648cdf2a65dd85b0c88b5e6fecaa">KGame::GameStatus</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Game status - Use this to Control the game flow. 
<p>
The <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> e.g. sets the status to Pause when you have less player than the minimum amount 
<p>Definition at line <a class="el" href="kgame_8h-source.html#l00120">120</a> of file <a class="el" href="kgame_8h-source.html">kgame.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="49717ecf15df38ef18cbbc8e3a14f963"></a><!-- doxytag: member="KGame::KGame" ref="49717ecf15df38ef18cbbc8e3a14f963" args="(int cookie=42, QObject *parent=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KGame::KGame           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>cookie</em> = <code>42</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QObject *&nbsp;</td>
          <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> object. 
<p>
The cookie is used to identify your game in load/save and network operations. Change this between games. 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00084">84</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="eec17a5f29b61cd1a8ac2cfe487f531c"></a><!-- doxytag: member="KGame::~KGame" ref="eec17a5f29b61cd1a8ac2cfe487f531c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KGame::~KGame           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructs the game. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00120">120</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="261690da2c7f85eba7d58f9ce9b6c9d6"></a><!-- doxytag: member="KGame::Debug" ref="261690da2c7f85eba7d58f9ce9b6c9d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::Debug           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gives debug output of the game status. 
<p>

<p>Reimplemented from <a class="el" href="classKGameNetwork.html#3f6b781bc342dd3c7e9b3ecf7ee0b636">KGameNetwork</a>.</p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01241">1241</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="8474f0391a5391f324a4beadbdf1f7cc"></a><!-- doxytag: member="KGame::playerList" ref="8474f0391a5391f324a4beadbdf1f7cc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KGame::KGamePlayerList * KGame::playerList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a list of all active players. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the list of players </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00699">699</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="50d63434679bfa840536098e0df3109c"></a><!-- doxytag: member="KGame::playerList" ref="50d63434679bfa840536098e0df3109c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const KGame::KGamePlayerList * KGame::playerList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The same as <a class="el" href="classKGame.html#8474f0391a5391f324a4beadbdf1f7cc">playerList</a> but returns a const pointer. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00702">702</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="0abd93f5e7721e73bf7c6a6c31d34861"></a><!-- doxytag: member="KGame::inactivePlayerList" ref="0abd93f5e7721e73bf7c6a6c31d34861" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KGame::KGamePlayerList * KGame::inactivePlayerList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a list of all inactive players. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the list of players </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00693">693</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="2a76b878b5ec656778e70e17908c509d"></a><!-- doxytag: member="KGame::inactivePlayerList" ref="2a76b878b5ec656778e70e17908c509d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const KGame::KGamePlayerList * KGame::inactivePlayerList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The same as <a class="el" href="classKGame.html#0abd93f5e7721e73bf7c6a6c31d34861">inactivePlayerList</a> but returns a const pointer. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00696">696</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="71f36242e2b1f4434c3a4f922f053ca7"></a><!-- doxytag: member="KGame::random" ref="71f36242e2b1f4434c3a4f922f053ca7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KRandomSequence * KGame::random           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a pointer to the game's KRandomSequence. 
<p>
This sequence is identical for all network players! <dl class="return" compact><dt><b>Returns:</b></dt><dd>KRandomSequence pointer </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00705">705</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="fd5ae8bfe5fa7295cb217c4b277f604b"></a><!-- doxytag: member="KGame::gameSequence" ref="fd5ae8bfe5fa7295cb217c4b277f604b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKGameSequence.html">KGameSequence</a> * KGame::gameSequence           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The <a class="el" href="classKGameSequence.html" title="This class takes care of round or move management as well of the gameover condition...">KGameSequence</a> object that is currently in use. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classKGame.html#29cb7b612d73906389bdf431adfc5b9f" title="Set a new KGameSequence to control player management.">setGameSequence</a> </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00809">809</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="936e2a787d244269d92729c0becd27d5"></a><!-- doxytag: member="KGame::isRunning" ref="936e2a787d244269d92729c0becd27d5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::isRunning           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Is the game running. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true/false </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00686">686</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="375c168319228c474bf34e14ca1b6e7d"></a><!-- doxytag: member="KGame::findPlayer" ref="375c168319228c474bf34e14ca1b6e7d" args="(Q_UINT32 id) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKPlayer.html">KPlayer</a> * KGame::findPlayer           </td>
          <td>(</td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the player object for a given player id. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>Player id </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>player object </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00386">386</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="29cb7b612d73906389bdf431adfc5b9f"></a><!-- doxytag: member="KGame::setGameSequence" ref="29cb7b612d73906389bdf431adfc5b9f" args="(KGameSequence *sequence)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::setGameSequence           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKGameSequence.html">KGameSequence</a> *&nbsp;</td>
          <td class="paramname"> <em>sequence</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a new <a class="el" href="classKGameSequence.html">KGameSequence</a> to control player management. 
<p>
By default <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> uses a normal <a class="el" href="classKGameSequence.html">KGameSequence</a> object. You might want to subclass that and provide your own object.<p>
The previous sequence will get deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sequence</em>&nbsp;</td><td>The new game sequence object. <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> takes ownership and will delete it on destruction! </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00799">799</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="4e2c90c3dc1aa46435cbd6ab0fd60a85"></a><!-- doxytag: member="KGame::addPlayer" ref="4e2c90c3dc1aa46435cbd6ab0fd60a85" args="(KPlayer *newplayer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::addPlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>newplayer</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Note that <a class="el" href="classKPlayer.html#5f907a17d2bafb64f027621005691b22" title="Save a player to a file OR to network.">KPlayer::save</a> must be implemented properly, as well as <a class="el" href="classKPlayer.html#b1127bc679ceac89a3150132a69ff701" title="The idendification of the player.">KPlayer::rtti</a> This will only send a message to all clients. 
<p>
The player is _not_ added directly! See also playerInput which will be called as soon as the player really has been added.<p>
Note that an added player will first get into a "queue" and won't be in the game. It will be added to the game as soon as systemAddPlayer is called what will happen as soon as IdAddPlayer is received.<p>
Note: you probably want to connect to signalPlayerJoinedGame for further initialization! <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>newplayer</em>&nbsp;</td><td>The player you want to add. <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> will send a message to all clients and add the player using systemAddPlayer </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00412">412</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="14dfedf9b7ec581f21f23ce284e3c23f"></a><!-- doxytag: member="KGame::removePlayer" ref="14dfedf9b7ec581f21f23ce284e3c23f" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::removePlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sends a message over the network, msgid=IdRemovePlayer. 
<p>
As soon as this message is received by networkTransmission systemRemovePlayer is called and the player is removed. 
<p>Definition at line <a class="el" href="kgame_8h-source.html#l00222">222</a> of file <a class="el" href="kgame_8h-source.html">kgame.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b49c38e1cd04316ef7ecae3033057d89"></a><!-- doxytag: member="KGame::playerDeleted" ref="b49c38e1cd04316ef7ecae3033057d89" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::playerDeleted           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by the destructor of <a class="el" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> to remove itself from the game. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00492">492</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="47d0731f6e8e5c21cbd2815cb9bd564a"></a><!-- doxytag: member="KGame::activatePlayer" ref="47d0731f6e8e5c21cbd2815cb9bd564a" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::activatePlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
sends activate player: internal use only? 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00630">630</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="aebde7ed2614932926e241f5fbe9976d"></a><!-- doxytag: member="KGame::inactivatePlayer" ref="aebde7ed2614932926e241f5fbe9976d" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::inactivatePlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
sends inactivate player: internal use only? 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00582">582</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="d2b3c38e4cbec75c927fe12c2f729680"></a><!-- doxytag: member="KGame::setMaxPlayers" ref="d2b3c38e4cbec75c927fe12c2f729680" args="(uint maxnumber)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::setMaxPlayers           </td>
          <td>(</td>
          <td class="paramtype">uint&nbsp;</td>
          <td class="paramname"> <em>maxnumber</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the maximal number of players. 
<p>
After this is reached no more players can be added. You must be ADMIN to call this (<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classKGameNetwork.html#0f16986a20e83e14711858be9b525348" title="The admin of a game is the one who initializes newly connected clients using negotiateNetworkGame...">isAdmin</a>). </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>maxnumber</em>&nbsp;</td><td>maximal number of players </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00668">668</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="74f978682fb541539052679b8f9b099c"></a><!-- doxytag: member="KGame::maxPlayers" ref="74f978682fb541539052679b8f9b099c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KGame::maxPlayers           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
What is the maximal number of players? 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximal number of players </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00677">677</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="a3acff617d08a869d988e560a9df450f"></a><!-- doxytag: member="KGame::setMinPlayers" ref="a3acff617d08a869d988e560a9df450f" args="(uint minnumber)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::setMinPlayers           </td>
          <td>(</td>
          <td class="paramtype">uint&nbsp;</td>
          <td class="paramname"> <em>minnumber</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the minimal number of players. 
<p>
A game can not be started with less player resp. is paused when already running. You must be ADMIN to call this (see <a class="el" href="classKGameNetwork.html#0f16986a20e83e14711858be9b525348">isAdmin</a>)! <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>minnumber</em>&nbsp;</td><td>minimal number of players </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00671">671</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="44c70fd438e7b6683b0a559cbaa9d422"></a><!-- doxytag: member="KGame::minPlayers" ref="44c70fd438e7b6683b0a559cbaa9d422" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint KGame::minPlayers           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
What is the minimal number of players? 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>minimal number of players </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00674">674</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="a6af008338041efff800345176b132bd"></a><!-- doxytag: member="KGame::playerCount" ref="a6af008338041efff800345176b132bd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint KGame::playerCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns how many players are plugged into the game. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of players </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00680">680</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="615bac6991229d407049966b6502bb5f"></a><!-- doxytag: member="KGame::nextPlayer" ref="615bac6991229d407049966b6502bb5f" args="(KPlayer *last, bool exclusive=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKPlayer.html">KPlayer</a> * KGame::nextPlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>exclusive</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>Use <a class="el" href="classKGameSequence.html#e991f262c3da6fd146a57b9f4dbee689">KGameSequence::nextPlayer</a> instead </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00823">823</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="4a7ca7a79b0167817b2ec9ff7d5ead1b"></a><!-- doxytag: member="KGame::sendPlayerInput" ref="4a7ca7a79b0167817b2ec9ff7d5ead1b" args="(QDataStream &amp;msg, KPlayer *player, Q_UINT32 sender=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::sendPlayerInput           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>sender</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by <a class="el" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> to send a player input to the <a class="el" href="classKMessageServer.html" title="A server for message sending and broadcasting, using TCP/IP connections.">KMessageServer</a>. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00709">709</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="704e7453a4876d7f5d764cf7a037ee96"></a><!-- doxytag: member="KGame::systemPlayerInput" ref="704e7453a4876d7f5d764cf7a037ee96" args="(QDataStream &amp;msg, KPlayer *player, Q_UINT32 sender=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::systemPlayerInput           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>sender</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called when a player input arrives from <a class="el" href="classKMessageServer.html" title="A server for message sending and broadcasting, using TCP/IP connections.">KMessageServer</a>. 
<p>
Calls prepareNext (using QTimer::singleShot) if gameOver() returns 0. This function should normally not be used outside <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a>. It could be made non-virtual,protected in a later version. At the moment it is a virtual function to give you more control over <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a>.<p>
For documentation see playerInput. 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00727">727</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="0a0d43035f5e73e1f08322420a1b0a8b"></a><!-- doxytag: member="KGame::createPlayer" ref="0a0d43035f5e73e1f08322420a1b0a8b" args="(int rtti, int io, bool isvirtual)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKPlayer.html">KPlayer</a> * KGame::createPlayer           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rtti</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>io</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isvirtual</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This virtual function is called if the <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> needs to create a new player. 
<p>
This happens only over a network and with load/save. Doing nothing will create a default <a class="el" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a>. If you want to have your own player you have to create one with the given rtti here. Note: If your game uses a player class derived from <a class="el" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> you MUST override this function and create your player here. Otherwise the game will crash. Example: <div class="fragment"><pre class="fragment">  <a class="code" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> *MyGame::createPlayer(<span class="keywordtype">int</span> rtti,<span class="keywordtype">int</span> io,<span class="keywordtype">bool</span> isvirtual)
  {
    <a class="code" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> *player=<span class="keyword">new</span> MyPlayer;
    <span class="keywordflow">if</span> (!isvirtual) <span class="comment">// network player ?</span>
    {
      <span class="comment">// Define something like this to add the IO modules</span>
      createIO(player,(<a class="code" href="classKGameIO.html#8d9178542d770a8c01ba0207452e6d54" title="Identifies the KGameIO via the rtti function.">KGameIO::IOMode</a>)io);
    }
    <span class="keywordflow">return</span> player;
    }
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rtti</em>&nbsp;</td><td>is the type of the player (0 means default <a class="el" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a>) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>io</em>&nbsp;</td><td>is the 'or'ed rtti of the KGameIO's </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isvirtual</em>&nbsp;</td><td>true if player is virtual </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00349">349</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="a64a29f8187b31844636363b3503daa6"></a><!-- doxytag: member="KGame::load" ref="a64a29f8187b31844636363b3503daa6" args="(QDataStream &amp;stream, bool reset=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::load           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>reset</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a saved game, from file OR network. 
<p>
This function has to be overwritten or you need to connect to the load signal if you have game data other than <a class="el" href="classKGameProperty.html" title="A class for network transparent games.">KGameProperty</a>. For file load you should <a class="el" href="classKGame.html#618c19da64cb15964eff059f07dd3cee" title="Resets the game, i.e.">reset()</a> the game before any load attempt to make sure you load into an clear state.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>a data stream where you can stream the game from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>reset</em>&nbsp;</td><td>- shall the game be reset before loading</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true? </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00179">179</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="1dcd3412cd333591f4b7257edfe1e72a"></a><!-- doxytag: member="KGame::load" ref="1dcd3412cd333591f4b7257edfe1e72a" args="(QString filename, bool reset=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::load           </td>
          <td>(</td>
          <td class="paramtype">QString&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>reset</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same as above function but with different parameters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>- the filename of the file to be opened </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>reset</em>&nbsp;</td><td>- shall the game be reset before loading</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true? </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00162">162</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="ea69c186609601961a06e70cc59495c5"></a><!-- doxytag: member="KGame::save" ref="ea69c186609601961a06e70cc59495c5" args="(QDataStream &amp;stream, bool saveplayers=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::save           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>saveplayers</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save a game to a file OR to network. 
<p>
Otherwise the same as the load function<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>a data stream to load the game from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>saveplayers</em>&nbsp;</td><td>If true then all players wil be saved too</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true? </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00284">284</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="dee8bcb52af572c38ae9994a71294b2a"></a><!-- doxytag: member="KGame::save" ref="dee8bcb52af572c38ae9994a71294b2a" args="(QString filename, bool saveplayers=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::save           </td>
          <td>(</td>
          <td class="paramtype">QString&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>saveplayers</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same as above function but with different parameters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>the filename of the file to be saved </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>saveplayers</em>&nbsp;</td><td>If true then all players wil be saved too</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true? </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00267">267</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="618c19da64cb15964eff059f07dd3cee"></a><!-- doxytag: member="KGame::reset" ref="618c19da64cb15964eff059f07dd3cee" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Resets the game, i.e. 
<p>
puts it into a state where everything can be started from, e.g. a load game Right now it does only need to delete all players<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true on success </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00131">131</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="ca064da18cdeed7b28e84611bc578669"></a><!-- doxytag: member="KGame::gameStatus" ref="ca064da18cdeed7b28e84611bc578669" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KGame::gameStatus           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns the game status, ie running,pause,ended,. 
<p>
..<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>game status </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00683">683</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="a4e4b2f93db4fafd9d70b81cca7c253f"></a><!-- doxytag: member="KGame::setGameStatus" ref="a4e4b2f93db4fafd9d70b81cca7c253f" args="(int status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::setGameStatus           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>status</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
sets the game status 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>the new status </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00832">832</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="a4402ce7203c9488e27d4115491366d1"></a><!-- doxytag: member="KGame::addProperty" ref="a4402ce7203c9488e27d4115491366d1" args="(KGamePropertyBase *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::addProperty           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
docu: see <a class="el" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01425">1425</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="137420f5ead4a6957c988c87b7b02a08"></a><!-- doxytag: member="KGame::sendPlayerProperty" ref="137420f5ead4a6957c988c87b7b02a08" args="(int msgid, QDataStream &amp;s, Q_UINT32 playerId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::sendPlayerProperty           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>playerId</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This is called by <a class="el" href="classKPlayer.html#106419f5d156a580895eb04b7bd4288f" title="Called by KGameProperty only! Internal function!">KPlayer::sendProperty</a> only! Internal function! 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01428">1428</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="a2353d31b7f16713b239881acfad840a"></a><!-- doxytag: member="KGame::findProperty" ref="a2353d31b7f16713b239881acfad840a" args="(int id) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> * KGame::findProperty           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function allows to find the pointer to a player property when you know it's id. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01445">1445</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="f72b744e08ba4187103b2194ef29c324"></a><!-- doxytag: member="KGame::setPolicy" ref="f72b744e08ba4187103b2194ef29c324" args="(GamePolicy p, bool recursive=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::setPolicy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKGame.html#a9ac22b4ed68ae2fd3a5e5f992e02e62">GamePolicy</a>&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>recursive</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Changes the consistency policy of a property. 
<p>
The GamePolicy is one of PolicyClean (default), PolicyDirty or PolicyLocal.<p>
It is up to you to decide how you want to work. 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01452">1452</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="f5a434f53df573abdea08df31af13ba3"></a><!-- doxytag: member="KGame::policy" ref="f5a434f53df573abdea08df31af13ba3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKGame.html#a9ac22b4ed68ae2fd3a5e5f992e02e62">KGame::GamePolicy</a> KGame::policy           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The default policy of the property </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01448">1448</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="26729de80ba7c4880b0b5ff5d24b1589"></a><!-- doxytag: member="KGame::sendGroupMessage" ref="26729de80ba7c4880b0b5ff5d24b1589" args="(const QByteArray &amp;msg, int msgid, Q_UINT32 sender, const QString &amp;group)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::sendGroupMessage           </td>
          <td>(</td>
          <td class="paramtype">const QByteArray &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>sender</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>group</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
See <a class="el" href="classKGameNetwork.html#27afbe51a7837e653b5513c4fd3e0af4" title="Send a network message msg with a given message ID msgid to all clients.">KGameNetwork::sendMessage</a>. 
<p>
Send a network message msg with a given message ID msgid to all players of a given group (see <a class="el" href="classKPlayer.html#300571584f3fb5da37bf56b377131b03" title="Query the group the player belongs to.">KPlayer::group</a>) <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>the message which will be send. See messages.txt for contents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msgid</em>&nbsp;</td><td>an id for this message </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sender</em>&nbsp;</td><td>the id of the sender </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the group of the receivers </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if worked </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01399">1399</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="3704935a47e1948cf3b8cc6720f39db4"></a><!-- doxytag: member="KGame::networkTransmission" ref="3704935a47e1948cf3b8cc6720f39db4" args="(QDataStream &amp;stream, int msgid, Q_UINT32 receiver, Q_UINT32 sender, Q_UINT32 clientID)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::networkTransmission           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>receiver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>sender</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>clientID</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This will either forward an incoming message to a specified player (see <a class="el" href="classKPlayer.html#4cb578100cf7596851ff3243d5e90ab0" title="Receives a message.">KPlayer::networkTransmission</a>) or handle the message directly (e.g. 
<p>
if msgif==IdRemovePlayer it will remove the (in the stream) specified player). If both is not possible (i.e. the message is user specified data) the signal signalNetworkData is emitted.<p>
This emits signalMessageUpdate <em>before</em> doing anything with the message. You can use this signal when you want to be notified about an update/change. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msgid</em>&nbsp;</td><td>Specifies the kind of the message. See messages.txt for further information </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>The message that is being sent </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>receiver</em>&nbsp;</td><td>The is of the player this message is for. 0 For broadcast. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sender</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>clientID</em>&nbsp;</td><td>the client from which we received the transmission - hardly used </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classKGameNetwork.html#23375902743b1c4108b47c31db220566">KGameNetwork</a>.</p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00843">843</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="dcf7c99aac7741d624225e6d815e8885"></a><!-- doxytag: member="KGame::dataHandler" ref="dcf7c99aac7741d624225e6d815e8885" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKGamePropertyHandler.html">KGamePropertyHandler</a> * KGame::dataHandler           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a pointer to the <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> property handler. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00689">689</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="8d80618d355a718853e91c026ef173f6"></a><!-- doxytag: member="KGame::sendProperty" ref="8d80618d355a718853e91c026ef173f6" args="(int msgid, QDataStream &amp;stream, bool *sent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::sendProperty           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&nbsp;</td>
          <td class="paramname"> <em>sent</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by <a class="el" href="classKGamePropertyHandler.html" title="A collection class for KGameProperty objects.">KGamePropertyHandler</a> only! Internal function! 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01431">1431</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="8c3f6ea2fdc21febf554bcc19fc8b79a"></a><!-- doxytag: member="KGame::emitSignal" ref="8c3f6ea2fdc21febf554bcc19fc8b79a" args="(KGamePropertyBase *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::emitSignal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *&nbsp;</td>
          <td class="paramname"> <em>me</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by <a class="el" href="classKGamePropertyHandler.html" title="A collection class for KGameProperty objects.">KGamePropertyHandler</a> only! Internal function! 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01440">1440</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="2e38ec978f771110f35b7fda4e0251bc"></a><!-- doxytag: member="KGame::prepareNext" ref="2e38ec978f771110f35b7fda4e0251bc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::prepareNext           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>Use KGameSequence::prepareNext() instead </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00814">814</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="b8e3f2a63547b043d61ecc49486e1e50"></a><!-- doxytag: member="KGame::slotClientConnected" ref="b8e3f2a63547b043d61ecc49486e1e50" args="(Q_UINT32 clientId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::slotClientConnected           </td>
          <td>(</td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>clientId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calls <a class="el" href="classKGame.html#35c31c52b2d044c0a2f27d98104c3ed6" title="This member function will transmit e.g.">negotiateNetworkGame()</a> See <a class="el" href="classKGameNetwork.html#d6a8fce932193c7a11538060b9ef7a10" title="This signal is emitted whenever the KMessageServer sends us a message that a new...">KGameNetwork::signalClientConnected</a>. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01254">1254</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="bd741f5732b9ac0199152488880fd0f9"></a><!-- doxytag: member="KGame::slotClientDisconnected" ref="bd741f5732b9ac0199152488880fd0f9" args="(Q_UINT32 clientId, bool broken)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::slotClientDisconnected           </td>
          <td>(</td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>clientId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>broken</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This slot is called whenever the connection to a client is lost (ie the signal <a class="el" href="classKGameNetwork.html#3593718156238347096e3e666f80b9b9" title="This signal is emitted whenever the KMessageServer sends us a message that a connection...">KGameNetwork::signalClientDisconnected</a> is emitted) and will remove the players from that client. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>clientId</em>&nbsp;</td><td>The client the connection has been lost to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>broken</em>&nbsp;</td><td>(ignore this - not used) </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01325">1325</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ff3fc87c913422fc4668f1654402e05"></a><!-- doxytag: member="KGame::slotServerDisconnected" ref="3ff3fc87c913422fc4668f1654402e05" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::slotServerDisconnected           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This slot is called whenever the connection to the server is lost (ie the signal <a class="el" href="classKGameNetwork.html#9ea60ddd6eb853a15967fd1476156ee4" title="Our connection to the KMessageServer has broken.">KGameNetwork::signalConnectionBroken</a> is emitted) and will switch to local game mode. 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01262">1262</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="26898efd9c4e98b4370eb2974ce916bf"></a><!-- doxytag: member="KGame::signalReplacePlayerIO" ref="26898efd9c4e98b4370eb2974ce916bf" args="(KPlayer *player, bool *remove)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalReplacePlayerIO           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&nbsp;</td>
          <td class="paramname"> <em>remove</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
When a client disconnects from the game usually all players from that client are removed. 
<p>
But if you use completely the <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> structure you probably don't want this. You just want to replace the <a class="el" href="classKGameIO.html" title="Base class for IO devices for games.">KGameIO</a> of the (human) player by a computer <a class="el" href="classKGameIO.html" title="Base class for IO devices for games.">KGameIO</a>. So this player continues game but is from this point on controlled by the computer.<p>
You achieve this by connecting to this signal. It is emitted as soon as a client disconnects on <em>all</em> other clients. Make sure to add a new <a class="el" href="classKGameIO.html" title="Base class for IO devices for games.">KGameIO</a> only once! you might want to use <a class="el" href="classKGameNetwork.html#0f16986a20e83e14711858be9b525348">isAdmin</a> for this. If you added a new <a class="el" href="classKGameIO.html" title="Base class for IO devices for games.">KGameIO</a> set *remove=false otherwise the player is completely removed. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>player</em>&nbsp;</td><td>The player that is about to be removed. Add your new <a class="el" href="classKGameIO.html" title="Base class for IO devices for games.">KGameIO</a> here - but only on <em>one</em> client! </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>remove</em>&nbsp;</td><td>Set this to FALSE if you don't want this player to be removed completely. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e6da242681951a6a31c81b741461d4aa"></a><!-- doxytag: member="KGame::signalLoadPrePlayers" ref="e6da242681951a6a31c81b741461d4aa" args="(QDataStream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalLoadPrePlayers           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The game will be loaded from the given stream. 
<p>
Load from here the data which is NOT a game or player property. It is not necessary to use this signal for a full property game.<p>
This signal is emitted <em>before</em> the players are loaded by <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a>. See also signalLoad<p>
You must load <em>exactly</em> the same data from the stream that you have saved in signalSavePrePlayers. Otherwise player loading will not work anymore.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>the load stream </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e742edf8ec202e57c1ce4f29ce063fbb"></a><!-- doxytag: member="KGame::signalLoad" ref="e742edf8ec202e57c1ce4f29ce063fbb" args="(QDataStream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalLoad           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The game will be loaded from the given stream. 
<p>
Load from here the data which is NOT a game or player property. It is not necessary to use this signal for a full property game.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>the load stream </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0562d15384ee0aac3c76198e031c7d88"></a><!-- doxytag: member="KGame::signalSavePrePlayers" ref="0562d15384ee0aac3c76198e031c7d88" args="(QDataStream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalSavePrePlayers           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The game will be saved to the given stream. 
<p>
Fill this with data which is NOT a game or player property. It is not necessary to use this signal for a full property game.<p>
This signal is emitted <em>before</em> the players are saved by <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a>. See also signalSave<p>
If you can choose between signalSavePrePlayers and signalSave then better use signalSave<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>the save stream </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1f224f5c80631e097dd53674b5902ead"></a><!-- doxytag: member="KGame::signalSave" ref="1f224f5c80631e097dd53674b5902ead" args="(QDataStream &amp;stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalSave           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The game will be saved to the given stream. 
<p>
Fill this with data which is NOT a game or player property. It is not necessary to use this signal for a full property game.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>the save stream </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="816a121a058048380a14f20f62c43b24"></a><!-- doxytag: member="KGame::signalLoadError" ref="816a121a058048380a14f20f62c43b24" args="(QDataStream &amp;stream, bool network, int cookie, bool &amp;result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalLoadError           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>network</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>cookie</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Is emmited if a game with a different version cookie is loaded. 
<p>
Normally this should result in an error. But maybe you do support loading of older game versions. Here would be a good place to do a conversion.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>- the load stream </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>network</em>&nbsp;</td><td>- true if this is a network connect. False for load game </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cookie</em>&nbsp;</td><td>- the saved cookie. It differs from <a class="el" href="classKGameNetwork.html#c8ce6494e748f19cc8984cdef1c5d496" title="Application cookie.">KGame::cookie()</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>- set this to true if you managed to load the game </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d7fddd2a094955c174fe74b9935d612d"></a><!-- doxytag: member="KGame::signalNetworkData" ref="d7fddd2a094955c174fe74b9935d612d" args="(int msgid, const QByteArray &amp;buffer, Q_UINT32 receiver, Q_UINT32 sender)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalNetworkData           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QByteArray &amp;&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>receiver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>sender</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
We got an user defined update message. 
<p>
This is usually done by a sendData in a inherited <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> Object which defines its own methods and has to syncronise them over the network. Reaction to this is usually a call to a <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> function. 
</div>
</div><p>
<a class="anchor" name="35a41c4af1f6fbb289785df205da89ac"></a><!-- doxytag: member="KGame::signalMessageUpdate" ref="35a41c4af1f6fbb289785df205da89ac" args="(int msgid, Q_UINT32 receiver, Q_UINT32 sender)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalMessageUpdate           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>receiver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>sender</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
We got an network message. 
<p>
this can be used to notify us that something changed. What changed can be seen in the message id. Whether this is the best possible method to do this is unclear... 
</div>
</div><p>
<a class="anchor" name="c2bcb04a3188fbfcf7950f0f77cc00ea"></a><!-- doxytag: member="KGame::signalPlayerLeftGame" ref="c2bcb04a3188fbfcf7950f0f77cc00ea" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalPlayerLeftGame           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
a player left the game because of a broken connection or so! 
<p>
Note that when this signal is emitted the player is not part of <a class="el" href="classKGame.html#8474f0391a5391f324a4beadbdf1f7cc">playerList</a> anymore but the pointer is still valid. You should do some final cleanups here since the player is usually deleted after the signal is emitted.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>player</em>&nbsp;</td><td>the player who left the game </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5a96fef943110e0222f35deaeadefa17"></a><!-- doxytag: member="KGame::signalPlayerJoinedGame" ref="5a96fef943110e0222f35deaeadefa17" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalPlayerJoinedGame           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
a player joined the game 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>player</em>&nbsp;</td><td>the player who joined the game </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="2068f88a82a9a1821a79fe8b4139b74b"></a><!-- doxytag: member="KGame::signalPropertyChanged" ref="2068f88a82a9a1821a79fe8b4139b74b" args="(KGamePropertyBase *property, KGame *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalPropertyChanged           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKGamePropertyBase.html">KGamePropertyBase</a> *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKGame.html">KGame</a> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This signal is emmited if a player property changes its value and the property is set to notify this change. 
<p>

</div>
</div><p>
<a class="anchor" name="58edeeef5380730b150a485888098690"></a><!-- doxytag: member="KGame::signalGameOver" ref="58edeeef5380730b150a485888098690" args="(int status, KPlayer *current, KGame *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalGameOver           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>current</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKGame.html">KGame</a> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Is emitted after a call to gameOver() returns a non zero return code. 
<p>
This code is forwarded to this signal as 'status'.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>the return code of gameOver() </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>current</em>&nbsp;</td><td>the player who did the last move </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>a pointer to the <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> object </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="70906dca3fd8b3b12d21d8512f40f24c"></a><!-- doxytag: member="KGame::signalClientJoinedGame" ref="70906dca3fd8b3b12d21d8512f40f24c" args="(Q_UINT32 clientid, KGame *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalClientJoinedGame           </td>
          <td>(</td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>clientid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKGame.html">KGame</a> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Is emmited after a client is successfully connected to the game. 
<p>
The client id is the id of the new game client. An easy way to check whether that's us is <div class="fragment"><pre class="fragment">   <span class="keywordflow">if</span> (clientid==gameid()) .. <span class="comment">// we joined</span>
   <span class="keywordflow">else</span> ... <span class="comment">// someone joined the game</span>
</pre></div> <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>clientid</em>&nbsp;</td><td>- The id of the new client </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>- our game pointer </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d8ff978f603e3b09925fa054644e4b18"></a><!-- doxytag: member="KGame::signalClientLeftGame" ref="d8ff978f603e3b09925fa054644e4b18" args="(int clientID, int oldgamestatus, KGame *me)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::signalClientLeftGame           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>clientID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>oldgamestatus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKGame.html">KGame</a> *&nbsp;</td>
          <td class="paramname"> <em>me</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This signal is emitted after a network partner left the game (either by a broken connection or voluntarily). 
<p>
All changes to the network players have already be done. If there are not enough players left, the game might have been paused. To check this you get the old gamestatus before the disconnection as argument here. The id of the client who left the game allows to distinguish who left the game. If it is 0, the server disconnected and you were a client which has been switched back to local play. You can use this signal to, e.g. set some menues back to local player when they were network before.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>clientID</em>&nbsp;</td><td>- 0:server left, otherwise the client who left </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oldgamestatus</em>&nbsp;</td><td>- the gamestatus before the loss </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>me</em>&nbsp;</td><td>- our game pointer </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ea30e25f99812bcfa142183e5271c7bc"></a><!-- doxytag: member="KGame::playerInput" ref="ea30e25f99812bcfa142183e5271c7bc" args="(QDataStream &amp;msg, KPlayer *player)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool KGame::playerInput           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A player input occurred. 
<p>
This is the most important function as the given message will contain the current move made by the given player. Note that you HAVE to overwrite this function. Otherwise your game makes no sense at all. Generally you have to return TRUE in this function. Only then the game sequence is proceeded by calling <a class="el" href="classKGame.html#75a6c4f0a0a870af8fdc510d94dc55b7">playerInputFinished</a> which in turn will check for game over or the next player However, if you have a delayed move, because you e.g. move a card or a piece you want to return FALSE to pause the game sequence and then manually call <a class="el" href="classKGame.html#75a6c4f0a0a870af8fdc510d94dc55b7">playerInputFinished</a> to resume it. Example: <div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> MyClass::playerInput(QDataStream &amp;msg,<a class="code" href="classKPlayer.html" title="Base class for a game player.">KPlayer</a> *player)
 {
   Q_INT32 move;
   msg &gt;&gt;  move;
   kdDebug() &lt;&lt; <span class="stringliteral">"  Player "</span> &lt;&lt; player-&gt;<a class="code" href="classKPlayer.html#a1151863225396c0f96678bf3ca938ae" title="Returns the id of the player.">id</a>() &lt;&lt; <span class="stringliteral">" moved to "</span> &lt;&lt; move &lt;&lt;
   endl;
   <span class="keywordflow">return</span> <span class="keyword">true</span>;
 }
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>the move message </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>player</em>&nbsp;</td><td>the player who did the move </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true - input ready, false: input manual </dd></dl>

</div>
</div><p>
<a class="anchor" name="75a6c4f0a0a870af8fdc510d94dc55b7"></a><!-- doxytag: member="KGame::playerInputFinished" ref="75a6c4f0a0a870af8fdc510d94dc55b7" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKPlayer.html">KPlayer</a> * KGame::playerInputFinished           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called after the player input is processed by the game. 
<p>
Here the checks for game over and nextPlayer (in the case of turn base games) are processed. Call this manually if you have a delayed move, i.e. your playerInput function returns FALSE. If it returns true you need not do anything here.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the current player </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00758">758</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="6bb50d094d8486454b758164d37d5c86"></a><!-- doxytag: member="KGame::newPlayersJoin" ref="6bb50d094d8486454b758164d37d5c86" args="(KGamePlayerList *oldplayer, KGamePlayerList *newplayer, QValueList&lt; int &gt; &amp;inactivate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void KGame::newPlayersJoin           </td>
          <td>(</td>
          <td class="paramtype">KGamePlayerList *&nbsp;</td>
          <td class="paramname"> <em>oldplayer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">KGamePlayerList *&nbsp;</td>
          <td class="paramname"> <em>newplayer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QValueList&lt; int &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>inactivate</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This virtual function can be overwritten for your own player management. 
<p>
It is called when a new game connects to an existing network game or to the network master. In case you do not want all players of both games to be present in the new network game, you can deactivate players here. This is of particular importance if you have a game with fixed number of player like e.g. chess. A network connect needs to disable one player of each game to make sense.<p>
Not overwriting this function will activate a default behaviour which will deactivate players until the <a class="el" href="classKGame.html#74f978682fb541539052679b8f9b099c">maxPlayers()</a> numebr is reached according to the <a class="el" href="classKPlayer.html#ce1da9fc9f515e7ccaa28e3a2cad33a5" title="Returns whether this player can be replaced by a network connection player.">KPlayer::networkPriority()</a> value. Players with a low value will be kicked out first. With equal priority players of the new client will leave first. This means, not setting this value and not overwriting this function will never allow a chess game to add client players!!! On the other hand setting one player of each game to a networkPriorty of say 10, already does most of the work for you.<p>
The parameters of this function are the playerlist of the network game, which is <a class="el" href="classKGame.html#8474f0391a5391f324a4beadbdf1f7cc">playerList()</a>. The second argument is the player list of the new client who wants to join and the third argument serves as return parameter. All <em>player ID's</em> which are written into this list will be <em>removed</em> from the created game. You do this by an <div class="fragment"><pre class="fragment"> inactivate.append(player-&gt;<a class="code" href="classKPlayer.html#a1151863225396c0f96678bf3ca938ae" title="Returns the id of the player.">id</a>());
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>oldplayer</em>&nbsp;</td><td>- the list of the network players </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>newplayer</em>&nbsp;</td><td>- the list of the client players </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>inactivate</em>&nbsp;</td><td>- the value list of ids to be deactivated </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8h-source.html#l00753">753</a> of file <a class="el" href="kgame_8h-source.html">kgame.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5968670c95387b4d02a98b9f6238f38b"></a><!-- doxytag: member="KGame::savePlayers" ref="5968670c95387b4d02a98b9f6238f38b" args="(QDataStream &amp;stream, KGamePlayerList *list=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::savePlayers           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">KGamePlayerList *&nbsp;</td>
          <td class="paramname"> <em>list</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save the player list to a stream. 
<p>
Used for network game and load/save. Can be overwritten if you know what you are doing<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>is the stream to save the player ot </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the optional list is the player list to be saved, default is <a class="el" href="classKGame.html#8474f0391a5391f324a4beadbdf1f7cc" title="Returns a list of all active players.">playerList()</a> </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00332">332</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="dd0924fcdcb5f0b0ce681524c3bd274d"></a><!-- doxytag: member="KGame::savePlayer" ref="dd0924fcdcb5f0b0ce681524c3bd274d" args="(QDataStream &amp;stream, KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::savePlayer           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepare a player for being added. 
<p>
Put all data about a player into the stream so that it can be sent to the KGameCommunicationServer using addPlayer (e.g.)<p>
This function ensures that the code for adding a player is the same in addPlayer as well as in negotiateNetworkGame <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>is the stream to add the player </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>player</em>&nbsp;</td><td>The player to add </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00323">323</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="9ccc7f26e8c7adc9f50df0e64482b20d"></a><!-- doxytag: member="KGame::loadPlayer" ref="9ccc7f26e8c7adc9f50df0e64482b20d" args="(QDataStream &amp;stream, bool isvirtual=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classKPlayer.html">KPlayer</a> * KGame::loadPlayer           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isvirtual</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load the player list from a stream. 
<p>
Used for network game and load/save. Can be overwritten if you know what you are doing<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>is the stream to save the player to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isvirtual</em>&nbsp;</td><td>will set the virtual flag true/false </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00354">354</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="6d69b904617f27d421d8a7b683d825df"></a><!-- doxytag: member="KGame::systemInactivatePlayer" ref="6d69b904617f27d421d8a7b683d825df" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::systemInactivatePlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
inactivates player. 
<p>
Use <a class="el" href="classKGame.html#aebde7ed2614932926e241f5fbe9976d">inactivatePlayer</a> instead! 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00602">602</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="6f041d0a63a05a6da650a624585995ba"></a><!-- doxytag: member="KGame::systemActivatePlayer" ref="6f041d0a63a05a6da650a624585995ba" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::systemActivatePlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
activates player. 
<p>
Use <a class="el" href="classKGame.html#47d0731f6e8e5c21cbd2815cb9bd564a">activatePlayer</a> instead! 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00648">648</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="84be8141c24bcea2eb85775e71d4ef81"></a><!-- doxytag: member="KGame::systemAddPlayer" ref="84be8141c24bcea2eb85775e71d4ef81" args="(KPlayer *newplayer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::systemAddPlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>newplayer</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a player to the game. 
<p>
Use <a class="el" href="classKGame.html#4e2c90c3dc1aa46435cbd6ab0fd60a85">addPlayer</a> to send KGameMessage::IdAddPlayer. As soon as this Id is received this function is called, where the player (see <a class="el" href="classKPlayer.html#b1127bc679ceac89a3150132a69ff701">KPlayer::rtti</a>) is added as well as its properties (see <a class="el" href="classKPlayer.html#5f907a17d2bafb64f027621005691b22">KPlayer::save</a> and <a class="el" href="classKPlayer.html#aba1b54e1c6d770312068c4ef85e9791">KPlayer::load</a>)<p>
This method calls the overloaded <a class="el" href="classKGame.html#84be8141c24bcea2eb85775e71d4ef81">systemAddPlayer</a> with the created player as argument. That method will really add the player. If you need to do some changes to your newly added player just connect to <a class="el" href="classKGame.html#5a96fef943110e0222f35deaeadefa17">signalPlayerJoinedGame</a> Finally adds a player to the game and therefore to the list. 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00460">460</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="f91c47be789720893c2576cbbb1d96f1"></a><!-- doxytag: member="KGame::systemRemovePlayer" ref="f91c47be789720893c2576cbbb1d96f1" args="(KPlayer *player, bool deleteit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::systemRemovePlayer           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>deleteit</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a player from the game. 
<p>
Use removePlayer to send KGameMessage::IdRemovePlayer. As soon as this Id is received systemRemovePlayer is called and the player is removed directly. 
<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00532">532</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="35c31c52b2d044c0a2f27d98104c3ed6"></a><!-- doxytag: member="KGame::negotiateNetworkGame" ref="35c31c52b2d044c0a2f27d98104c3ed6" args="(Q_UINT32 clientID)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::negotiateNetworkGame           </td>
          <td>(</td>
          <td class="paramtype">Q_UINT32&nbsp;</td>
          <td class="paramname"> <em>clientID</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This member function will transmit e.g. 
<p>
all players to that client, as well as all properties of these players (at least if they have been added by <a class="el" href="classKPlayer.html#750164b9288ecdf1d916028a173a7e4b">KPlayer::addProperty</a>) so that the client will finally have the same status as the master. You want to overwrite this function if you expand <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> by any properties which have to be known by all clients.<p>
Only the ADMIN is allowed to call this. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>clientID</em>&nbsp;</td><td>The ID of the message client which has connected </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01376">1376</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="4bfd78fe8cb00e654785a5136b55578e"></a><!-- doxytag: member="KGame::syncRandom" ref="4bfd78fe8cb00e654785a5136b55578e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KGame::syncRandom           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
syncronise the random numbers with all network clients not used by <a class="el" href="classKGame.html" title="The main KDE game object.">KGame</a> - if it should be kept then as public method 
<p>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l01234">1234</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="2952497586346121b9f48a000b7c65a1"></a><!-- doxytag: member="KGame::checkGameOver" ref="2952497586346121b9f48a000b7c65a1" args="(KPlayer *player)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KGame::checkGameOver           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPlayer.html">KPlayer</a> *&nbsp;</td>
          <td class="paramname"> <em>player</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd>Use <a class="el" href="classKGameSequence.html">KGameSequence</a> instead.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>player</em>&nbsp;</td><td>the player who made the last move </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>anything else but 0 is considered as game over </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00790">790</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="747490e20dd696dafc1947ab7e813349"></a><!-- doxytag: member="KGame::loadgame" ref="747490e20dd696dafc1947ab7e813349" args="(QDataStream &amp;stream, bool network, bool reset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::loadgame           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>network</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>reset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a saved game, from file OR network. 
<p>
Internal. Warning: loadgame must not rely that all players all already activated. Actually the network will activate a player AFTER the loadgame only. This is not true anymore. But be careful anyway.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>a data stream where you can stream the game from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>network</em>&nbsp;</td><td>is it a network call -&gt; make players virtual </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>reset</em>&nbsp;</td><td>shall the game be reset before loading</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true? </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00182">182</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="34de66fb24761c35ceffeaf850c8d986"></a><!-- doxytag: member="KGame::savegame" ref="34de66fb24761c35ceffeaf850c8d986" args="(QDataStream &amp;stream, bool network, bool saveplayers)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KGame::savegame           </td>
          <td>(</td>
          <td class="paramtype">QDataStream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>network</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>saveplayers</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save a game, to file OR network. 
<p>
Internal.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>a data stream where you can stream the game from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>network</em>&nbsp;</td><td>is it a call from the network or from a file (unused but informative) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>saveplayers</em>&nbsp;</td><td>shall the players be saved too (should be TRUE)</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true? </dd></dl>

<p>Definition at line <a class="el" href="kgame_8cpp-source.html#l00287">287</a> of file <a class="el" href="kgame_8cpp-source.html">kgame.cpp</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="kgame_8h-source.html">kgame.h</a><li><a class="el" href="kgame_8cpp-source.html">kgame.cpp</a></ul>
</div>
    </div></div>


      </td>
  </tr>
  <tr>
    <td valign="top" id="leftmenu" width="25%">
      <a name="navigation"></a>
      <div class="menu_box"><h2>libkdegames</h2>
<div class="nav_list">
<ul><li><a href="index.html">Main Page</a></li><li><a href="hierarchy.html">Class Hierarchy</a></li><li><a href="classes.html">Alphabetical List</a></li><li><a href="annotated.html">Class List</a></li><li><a href="files.html">File List</a></li><li><a href="functions.html">Class Members</a></li><li><a href="pages.html">Related Pages</a></li></ul>
<!--
<h2>Class Picker</h2>
<div style="text-align: center;">
<form name="guideform">
<select name="guidelinks" style="width:100%;" onChange="window.location=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value">
<option value="annotated.html">-- Choose --</option>
  <option value="classKCanvasRootPixmap.html">kcanvasrootpixmap</option>,  <option value="classKCardDialog.html">kcarddialog</option>,  <option value="classKChat.html">kchat</option>,  <option value="classKChatBase.html">kchatbase</option>,  <option value="classKChatBaseText.html">kchatbasetext</option>,  <option value="classKExtHighscore_1_1Item.html">kexthighscore::item</option>,  <option value="classKExtHighscore_1_1ItemArray.html">kexthighscore::itemarray</option>,  <option value="classKExtHighscore_1_1Manager.html">kexthighscore::manager</option>,  <option value="classKExtHighscore_1_1MultiplayerScores.html">kexthighscore::multiplayerscores</option>,  <option value="classKExtHighscore_1_1Score.html">kexthighscore::score</option>,  <option value="classKGame.html">kgame</option>,  <option value="classKGameChat.html">kgamechat</option>,  <option value="classKGameComputerIO.html">kgamecomputerio</option>,  <option value="classKGameConnectDialog.html">kgameconnectdialog</option>,  <option value="classKGameDialog.html">kgamedialog</option>,  <option value="classKGameDialogChatConfig.html">kgamedialogchatconfig</option>,  <option value="classKGameDialogConfig.html">kgamedialogconfig</option>,  <option value="classKGameErrorDialog.html">kgameerrordialog</option>,  <option value="classKGameErrorMessageDialog.html">kgameerrormessagedialog</option>,  <option value="classKGameIO.html">kgameio</option>,  <option value="classKGameKeyIO.html">kgamekeyio</option>,  <option value="classKGameLCD.html">kgamelcd</option>,  <option value="classKGameLCDClock.html">kgamelcdclock</option>,  <option value="classKGameLCDList.html">kgamelcdlist</option>,  <option value="classKGameMisc.html">kgamemisc</option>,  <option value="classKGameMouseIO.html">kgamemouseio</option>,  <option value="classKGameNetwork.html">kgamenetwork</option>,  <option value="classKGameProcess.html">kgameprocess</option>,  <option value="classKGameProcessIO.html">kgameprocessio</option>,  <option value="classKGameProgress.html">kgameprogress</option>,  <option value="classKGameProperty.html">kgameproperty</option>,  <option value="classKGamePropertyBase.html">kgamepropertybase</option>,  <option value="classKGamePropertyHandler.html">kgamepropertyhandler</option>,  <option value="classKGameSequence.html">kgamesequence</option>,  <option value="classKGrid2D_1_1Generic.html">kgrid2d::generic</option>,  <option value="classKGrid2D_1_1Hexagonal.html">kgrid2d::hexagonal</option>,  <option value="classKGrid2D_1_1HexagonalBase.html">kgrid2d::hexagonalbase</option>,  <option value="classKGrid2D_1_1Square.html">kgrid2d::square</option>,  <option value="classKGrid2D_1_1SquareBase.html">kgrid2d::squarebase</option>,  <option value="classKHighscore.html">khighscore</option>,  <option value="classKMessageClient.html">kmessageclient</option>,  <option value="classKMessageDirect.html">kmessagedirect</option>,  <option value="classKMessageIO.html">kmessageio</option>,  <option value="classKMessageServer.html">kmessageserver</option>,  <option value="classKMessageServerSocket.html">kmessageserversocket</option>,  <option value="classKMessageSocket.html">kmessagesocket</option>,  <option value="classKPlayer.html">kplayer</option>,  <option value="classKScoreDialog.html">kscoredialog</option>,  <option value="classKStdGameAction.html">kstdgameaction</option>,
</select>
</form>
</div>
-->
</div></div>
<div class="menu_box"><h2>API Dox</h2>
<div class="nav_list">
<ul>
<li><a href="../../libkdegames/html/index.html">libkdegames</a></li>
</ul></div></div>


        </td>
</tr>
</table>

<span class="doNotDisplay">
  <a href="http://www.kde.org/" accesskey="8">KDE Home</a> |
  <a href="http://accessibility.kde.org/" accesskey="9">KDE Accessibility Home</a> |
  <a href="http://www.kde.org/media/accesskeys.php" accesskey="0">Description of Access Keys</a>
</span>


<div style="height: 8px"></div>

<div id="footer">
  <div id="footer_left">
    Maintained by <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;groo&#116;&#64;kde&#46;or&#x67;">Adriaan de Groot</a>
and
<a href="&#109;a&#105;&#108;&#116;&#111;&#58;w&#105;nter&#64;kde&#46;or&#x67">Allen Winter</a>.
<br/>
    KDE and K Desktop Environment are trademarks of <a href="http://www.kde.org/areas/kde-ev/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> |
    <a href="http://www.kde.org/contact/impressum.php">Legal</a>
  </div>
  <div id="footer_right"><img src="/media/images/footer_right.png" style="margin: 0px" alt="" /></div>
</div>

<!--
WARNING: DO NOT SEND MAIL TO THE FOLLOWING EMAIL ADDRESS! YOU WILL
BE BLOCKED INSTANTLY AND PERMANENTLY!
<a href="mailto:aaaatrap-425acc3b5374943f@kde.org">Block me</a>
WARNING END
-->

</body>
</html>