/// <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]); } } } } } }
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); } } } }