Ejemplo n.º 1
0
 /// <summary>
 /// Used to uncover all non - mine tiles around empty tile
 /// </summary>
 /// <param name="t">Empty tile</param>
 private void UncoverAround(Tile t)
 {
     if (t.GetIsCovered())
     {
         if (t.GetIsFlagged())
         {
             flagCounter.AddRemoveFlag(1);
         }
         t.Uncover();
         if (t.GetNumber() == 0)
         {
             int x = t.GetX();
             int y = t.GetY();
             for (int i = Math.Max(0, x - 1); i <= Math.Min(x + 1, xSize - 1); i++)
             {
                 for (int j = Math.Max(0, y - 1); j <= Math.Min(y + 1, ySize - 1); j++)
                 {
                     if (!(i == x && j == y))
                     {
                         UncoverAround(grid[i, j]);
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 private void LeftMouseClick(Tile clicked)
 {
     if (!clicked.GetIsFlagged() && !clicked.GetIsQuestionMark())
     {
         if (clicked.GetNumber() == -1)
         {
             Lose();
         }
         else
         {
             if (clicked.GetNumber() != 0)
             {
                 clicked.Uncover();
             }
             else
             {
                 UncoverAround(clicked);
             }
         }
     }
 }