Added the notion of a round with an associated round identifier that is

incremented whenever the game is reset.  Games that don't make use of the
resetting functionality essentially consist of a single round.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1420 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Walter Korman
2002-06-03 21:08:57 +00:00
parent bce33033d8
commit c4c8e2297b
2 changed files with 31 additions and 3 deletions
@@ -1,5 +1,5 @@
// //
// $Id: GameController.java,v 1.14 2002/05/07 00:57:49 mdb Exp $ // $Id: GameController.java,v 1.15 2002/06/03 21:08:57 shaper Exp $
package com.threerings.parlor.game; package com.threerings.parlor.game;
@@ -123,6 +123,17 @@ public abstract class GameController extends PlaceController
// end the game until we receive a new board // end the game until we receive a new board
setGameOver(true); setGameOver(true);
// increment the round identifier
_roundId++;
}
/**
* Returns the unique round identifier for the current round.
*/
public int getRoundId ()
{
return _roundId;
} }
/** /**
@@ -230,6 +241,9 @@ public abstract class GameController extends PlaceController
* controlling. */ * controlling. */
protected GameObject _gobj; protected GameObject _gobj;
/** The unique round identifier for the current round. */
protected int _roundId;
/** A local flag overriding the game over state for situations where /** A local flag overriding the game over state for situations where
* the client knows the game is over before the server has * the client knows the game is over before the server has
* transitioned the game object accordingly. */ * transitioned the game object accordingly. */
@@ -1,5 +1,5 @@
// //
// $Id: GameManager.java,v 1.31 2002/06/01 23:14:53 ray Exp $ // $Id: GameManager.java,v 1.32 2002/06/03 21:08:57 shaper Exp $
package com.threerings.parlor.game; package com.threerings.parlor.game;
@@ -106,6 +106,14 @@ public class GameManager extends PlaceManager
return (_gameobj.state == GameObject.GAME_OVER); return (_gameobj.state == GameObject.GAME_OVER);
} }
/**
* Returns the unique round identifier for the current round.
*/
public int getRoundId ()
{
return _roundId;
}
// documentation inherited // documentation inherited
protected void didStartup () protected void didStartup ()
{ {
@@ -320,6 +328,9 @@ public class GameManager extends PlaceManager
// let the derived class do its pre-reset stuff // let the derived class do its pre-reset stuff
gameWillReset(); gameWillReset();
// increment the round identifier
_roundId++;
// do the standard game start processing // do the standard game start processing
gameWillStart(); gameWillStart();
_gameobj.setState(GameObject.IN_PLAY); _gameobj.setState(GameObject.IN_PLAY);
@@ -439,8 +450,11 @@ public class GameManager extends PlaceManager
/** The oids of our player and AI body objects. */ /** The oids of our player and AI body objects. */
protected int[] _playerOids; protected int[] _playerOids;
/** The unique round identifier for the current round. */
protected int _roundId;
/** If AIs are present, contains their skill levels, or -1 at human /** If AIs are present, contains their skill levels, or -1 at human
* player indexes.. */ * player indexes. */
protected byte[] _AIs; protected byte[] _AIs;
/** Our delegate operator to tick AIs. */ /** Our delegate operator to tick AIs. */