eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Eliot-dev] Changes to eliot/game/game.cpp


From: eliot-dev
Subject: [Eliot-dev] Changes to eliot/game/game.cpp
Date: Sat, 05 Nov 2005 20:05:08 -0500

Index: eliot/game/game.cpp
diff -u eliot/game/game.cpp:1.21 eliot/game/game.cpp:1.22
--- eliot/game/game.cpp:1.21    Sat Nov  5 23:22:42 2005
+++ eliot/game/game.cpp Sun Nov  6 01:05:06 2005
@@ -60,10 +60,17 @@
 }
 
 
-const Player& Game::getPlayer(int num) const
+const Player& Game::getPlayer(int iNum) const
 {
-    ASSERT(0 <= num && num < (int)m_players.size(), "Wrong player number");
-    return *(m_players[num]);
+    ASSERT(0 <= iNum && iNum < (int)m_players.size(), "Wrong player number");
+    return *(m_players[iNum]);
+}
+
+
+const Turn& Game::getTurn(int iNum) const
+{
+    ASSERT(0 <= iNum && iNum < (int)m_history.size(), "Wrong turn number");
+    return *(m_history[iNum]);
 }
 
 
@@ -272,7 +279,7 @@
         // the game was saved while a human was to play.
         for (int i = 0; i < pGame->getNPlayers(); i++)
         {
-            if (pGame->m_players[i]->isHuman())
+            if (pGame->getPlayer(i).isHuman())
             {
                 pGame->m_currPlayer = i;
                 break;
@@ -292,7 +299,7 @@
     for (int i = 0; i < getNPlayers(); i++)
     {
         out << "Player " << i << ": ";
-        if (m_players[i]->isHuman())
+        if (getPlayer(i).isHuman())
             out << "Human" << endl;
         else
             out << "Computer" << endl;
@@ -323,7 +330,7 @@
     out << endl;
     for (int i = 0; i < getNPlayers(); i++)
     {
-        string rack = m_players[i]->getCurrentRack().toString();
+        string rack = getPlayer(i).getCurrentRack().toString();
         out << "Rack " << i << ": " << rack << endl;
     }
 }
@@ -341,7 +348,7 @@
 
     // History of the game
     m_history.push_back(new Turn(m_history.size(), m_currPlayer,
-                                 m_players[m_currPlayer]->getLastRack(),
+                                 getPlayer(m_currPlayer).getLastRack(),
                                  iRound));
 
     m_points += iRound.getPoints();
@@ -373,12 +380,12 @@
                 // There is a big design problem here, but i am unsure what is
                 // the best way to fix it.
                 vector<Tile> tiles;
-                m_players[m_currPlayer]->getCurrentRack().getAllTiles(tiles);
+                getPlayer(m_currPlayer).getCurrentRack().getAllTiles(tiles);
                 for (unsigned int j = 0; j < tiles.size(); j++)
                 {
                     bag.replaceTile(tiles[j]);
                 }
-                m_players[m_currPlayer]->getLastRack().getAllTiles(tiles);
+                getPlayer(m_currPlayer).getLastRack().getAllTiles(tiles);
                 for (unsigned int j = 0; j < tiles.size(); j++)
                 {
                     bag.takeTile(tiles[j]);
@@ -473,7 +480,7 @@
         /* In freegame mode, replace the letters from all the racks */
         for (int i = 0; i < getNPlayers(); i++)
         {
-            m_players[i]->getCurrentRack().getAllTiles(tiles);
+            getPlayer(i).getCurrentRack().getAllTiles(tiles);
             for (unsigned int j = 0; j < tiles.size(); j++)
             {
                 ioBag.takeTile(tiles[j]);
@@ -484,7 +491,7 @@
     {
         /* In training or duplicate mode, replace the rack of the current
          * player only */
-        m_players[m_currPlayer]->getCurrentRack().getAllTiles(tiles);
+        getPlayer(m_currPlayer).getCurrentRack().getAllTiles(tiles);
         for (unsigned int j = 0; j < tiles.size(); j++)
         {
             ioBag.takeTile(tiles[j]);
@@ -513,7 +520,7 @@
     int nold, min;
 
     // Make a copy of the player's rack
-    PlayedRack pld = m_players[p]->getCurrentRack();
+    PlayedRack pld = getPlayer(p).getCurrentRack();
     nold = pld.nOld();
 
     // Create a copy of the bag in which we can do everything we want,
@@ -651,7 +658,7 @@
     unsigned int i;
     int min;
 
-    PlayedRack pld = m_players[p]->getCurrentRack();
+    PlayedRack pld = getPlayer(p).getCurrentRack();
     pld.reset();
 
     if (iLetters.size() == 0)
@@ -711,17 +718,15 @@
 
 string Game::getPlayedRack(int num) const
 {
-    ASSERT(0 <= num && num < getNTurns(), "Wrong turn number");
-    return m_history[num]->getPlayedRack().toString();
+    return getTurn(num).getPlayedRack().toString();
 }
 
 
 string Game::getPlayedWord(int num) const
 {
-    ASSERT(0 <= num && num < getNTurns(), "Wrong turn number");
     char c;
     string s;
-    const Round &r = m_history[num]->getRound();
+    const Round &r = getTurn(num).getRound();
     for (int i = 0; i < r.getWordLen(); i++)
     {
         c = r.getTile(i).toChar();
@@ -735,29 +740,25 @@
 
 string Game::getPlayedCoords(int num) const
 {
-    ASSERT(0 <= num && num < getNTurns(), "Wrong turn number");
-    return m_history[num]->getRound().getCoord().toString();
+    return getTurn(num).getRound().getCoord().toString();
 }
 
 
 int Game::getPlayedPoints(int num) const
 {
-    ASSERT(0 <= num && num < getNTurns(), "Wrong turn number");
-    return m_history[num]->getRound().getPoints();
+    return getTurn(num).getRound().getPoints();
 }
 
 
 int Game::getPlayedBonus(int num) const
 {
-    ASSERT(0 <= num && num < getNTurns(), "Wrong turn number");
-    return m_history[num]->getRound().getBonus();
+    return getTurn(num).getRound().getBonus();
 }
 
 
 int Game::getPlayedPlayer(int num) const
 {
-    ASSERT(0 <= num && num < getNTurns(), "Wrong turn number");
-    return m_history[num]->getPlayer();
+    return getTurn(num).getPlayer();
 }
 
 /*********************************************************
@@ -773,7 +774,7 @@
 {
     int count = 0;
     for (int i = 0; i < getNPlayers(); i++)
-        count += (m_players[i]->isHuman() ? 1 : 0);
+        count += (getPlayer(i).isHuman() ? 1 : 0);
     return count;
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]