Пример #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]);
                     }
                 }
             }
         }
     }
 }