[Fix] Flag bug
This commit is contained in:
@@ -311,30 +311,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 1c906a10872edd04480e534703fc4fea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Minesweeper.Presentation.Views.GameView
|
||||
gameRoot: {fileID: 289057768}
|
||||
pauseRoot: {fileID: 0}
|
||||
resultRoot: {fileID: 0}
|
||||
boardPanel: {fileID: 0}
|
||||
gridLayoutGroup: {fileID: 0}
|
||||
pauseButton: {fileID: 0}
|
||||
restartButton: {fileID: 0}
|
||||
resumeButton: {fileID: 0}
|
||||
mainMenuButton: {fileID: 0}
|
||||
resultRestartButton: {fileID: 0}
|
||||
resultMainMenuButton: {fileID: 0}
|
||||
resultText: {fileID: 0}
|
||||
timerText: {fileID: 751542998}
|
||||
mineText: {fileID: 805410199}
|
||||
uiConfig: {fileID: 0}
|
||||
boardInputEnabled: 1
|
||||
currentRevealUnflaggedMines: 0
|
||||
resizeRefreshPending: 0
|
||||
currentBoardWidth: 0
|
||||
currentBoardHeight: 0
|
||||
currentContentPadding: 1
|
||||
currentPixelsPerUnitMultiplier: 1
|
||||
resizeStableAt: 0
|
||||
lastObservedLayoutSize: {x: 0, y: 0}
|
||||
--- !u!1 &519420028
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -556,28 +532,6 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &751542998 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 2799103337096245725, guid: 212298b6cdb61bb41bcf765ca9467ef2, type: 3}
|
||||
m_PrefabInstance: {fileID: 1980798338579462618}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
--- !u!114 &805410199 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 823287330887192061, guid: 212298b6cdb61bb41bcf765ca9467ef2, type: 3}
|
||||
m_PrefabInstance: {fileID: 1980798338579462618}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
--- !u!224 &1101876292 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 3873756121358901088, guid: 212298b6cdb61bb41bcf765ca9467ef2, type: 3}
|
||||
@@ -631,10 +585,10 @@ MonoBehaviour:
|
||||
uiConfig: {fileID: 11400000, guid: c8b7785713c7c8b49b853f7e5028a4fa, type: 2}
|
||||
contentRoot: {fileID: 1373940536}
|
||||
topPanelView: {fileID: 1101876296}
|
||||
mainMenuViewPrefab: {fileID: 0}
|
||||
boardViewPrefab: {fileID: 0}
|
||||
pauseViewPrefab: {fileID: 0}
|
||||
resultViewPrefab: {fileID: 0}
|
||||
mainMenuViewPrefab: {fileID: 5456992800552396061, guid: 66407cd7142d6a945b37ca8dc5e7c6b7, type: 3}
|
||||
boardViewPrefab: {fileID: -4096144217532421454, guid: 91c5885a4fbe47540abf4bfd814a32d0, type: 3}
|
||||
pauseViewPrefab: {fileID: 7010459690024596299, guid: ec358f6fec19e3b469f516bd1ade70cd, type: 3}
|
||||
resultViewPrefab: {fileID: -2277025653673582644, guid: 73d5a09dc8885e64a8c20a68ea82c5dc, type: 3}
|
||||
--- !u!4 &1287266282
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -251,12 +251,13 @@ namespace Minesweeper.Core
|
||||
while (queue.Count > 0)
|
||||
{
|
||||
var cell = queue.Dequeue();
|
||||
if (visited[cell.X, cell.Y] || cell.IsMine || cell.IsFlagged)
|
||||
if (visited[cell.X, cell.Y] || cell.IsMine)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
visited[cell.X, cell.Y] = true;
|
||||
ClearFlag(cell);
|
||||
OpenSafeCell(cell);
|
||||
|
||||
if (cell.NeighborMines != 0)
|
||||
@@ -274,7 +275,7 @@ namespace Minesweeper.Core
|
||||
}
|
||||
|
||||
var neighbor = cells[x, y];
|
||||
if (!visited[x, y] && !neighbor.IsMine && !neighbor.IsFlagged && !neighbor.IsOpened)
|
||||
if (!visited[x, y] && !neighbor.IsMine && !neighbor.IsOpened)
|
||||
{
|
||||
queue.Enqueue(neighbor);
|
||||
}
|
||||
@@ -295,6 +296,17 @@ namespace Minesweeper.Core
|
||||
AddChangedCell(cell);
|
||||
}
|
||||
|
||||
private void ClearFlag(CellData cell)
|
||||
{
|
||||
if (!cell.IsFlagged)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
cell.IsFlagged = false;
|
||||
FlaggedCellsCount--;
|
||||
}
|
||||
|
||||
private void AddChangedCell(CellData cell)
|
||||
{
|
||||
changedCells.Add(ToData(cell));
|
||||
|
||||
Reference in New Issue
Block a user