]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/bombs/game.cpp
documented wx_truncate_cast()
[wxWidgets.git] / demos / bombs / game.cpp
index 6a76fea09b6f8d2358e99aa6c2de4f41ea88f503..9790ed67a6fde666bc7d752e57f3f92c7a2dce8e 100644 (file)
@@ -99,6 +99,7 @@ bool BombsGame::Init(int aWidth, int aHeight, bool easyCorner)
             }
 
     m_numRemainingCells = m_height*m_width-m_numBombCells;
             }
 
     m_numRemainingCells = m_height*m_width-m_numBombCells;
+    m_numMarkedCells = 0;
 
     return true;
 }
 
     return true;
 }
@@ -106,15 +107,22 @@ bool BombsGame::Init(int aWidth, int aHeight, bool easyCorner)
 void BombsGame::Mark(int x, int y)
 {
     m_field[x+y*m_width] ^= BG_MARKED;
 void BombsGame::Mark(int x, int y)
 {
     m_field[x+y*m_width] ^= BG_MARKED;
+    if (IsMarked(x, y))
+        m_numMarkedCells++;
+    else
+        m_numMarkedCells--;
 }
 
 }
 
-void BombsGame::Unhide(int x, int y)
+void BombsGame::Unhide(int x, int y, bool b_selected)
 {
     if (!IsHidden(x,y))
     {
         return;
     }
 
 {
     if (!IsHidden(x,y))
     {
         return;
     }
 
+    if (b_selected)
+        m_field[x+y*m_width] |= BG_SELECTED;
+
     m_field[x+y*m_width] &= ~BG_HIDDEN;
 
     if (!IsBomb(x,y))
     m_field[x+y*m_width] &= ~BG_HIDDEN;
 
     if (!IsBomb(x,y))