[Fix] Flag bug
This commit is contained in:
@@ -311,30 +311,6 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 1c906a10872edd04480e534703fc4fea, type: 3}
|
m_Script: {fileID: 11500000, guid: 1c906a10872edd04480e534703fc4fea, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Minesweeper.Presentation.Views.GameView
|
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
|
--- !u!1 &519420028
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -556,28 +532,6 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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
|
--- !u!224 &1101876292 stripped
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_CorrespondingSourceObject: {fileID: 3873756121358901088, guid: 212298b6cdb61bb41bcf765ca9467ef2, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3873756121358901088, guid: 212298b6cdb61bb41bcf765ca9467ef2, type: 3}
|
||||||
@@ -631,10 +585,10 @@ MonoBehaviour:
|
|||||||
uiConfig: {fileID: 11400000, guid: c8b7785713c7c8b49b853f7e5028a4fa, type: 2}
|
uiConfig: {fileID: 11400000, guid: c8b7785713c7c8b49b853f7e5028a4fa, type: 2}
|
||||||
contentRoot: {fileID: 1373940536}
|
contentRoot: {fileID: 1373940536}
|
||||||
topPanelView: {fileID: 1101876296}
|
topPanelView: {fileID: 1101876296}
|
||||||
mainMenuViewPrefab: {fileID: 0}
|
mainMenuViewPrefab: {fileID: 5456992800552396061, guid: 66407cd7142d6a945b37ca8dc5e7c6b7, type: 3}
|
||||||
boardViewPrefab: {fileID: 0}
|
boardViewPrefab: {fileID: -4096144217532421454, guid: 91c5885a4fbe47540abf4bfd814a32d0, type: 3}
|
||||||
pauseViewPrefab: {fileID: 0}
|
pauseViewPrefab: {fileID: 7010459690024596299, guid: ec358f6fec19e3b469f516bd1ade70cd, type: 3}
|
||||||
resultViewPrefab: {fileID: 0}
|
resultViewPrefab: {fileID: -2277025653673582644, guid: 73d5a09dc8885e64a8c20a68ea82c5dc, type: 3}
|
||||||
--- !u!4 &1287266282
|
--- !u!4 &1287266282
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -251,12 +251,13 @@ namespace Minesweeper.Core
|
|||||||
while (queue.Count > 0)
|
while (queue.Count > 0)
|
||||||
{
|
{
|
||||||
var cell = queue.Dequeue();
|
var cell = queue.Dequeue();
|
||||||
if (visited[cell.X, cell.Y] || cell.IsMine || cell.IsFlagged)
|
if (visited[cell.X, cell.Y] || cell.IsMine)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
visited[cell.X, cell.Y] = true;
|
visited[cell.X, cell.Y] = true;
|
||||||
|
ClearFlag(cell);
|
||||||
OpenSafeCell(cell);
|
OpenSafeCell(cell);
|
||||||
|
|
||||||
if (cell.NeighborMines != 0)
|
if (cell.NeighborMines != 0)
|
||||||
@@ -274,7 +275,7 @@ namespace Minesweeper.Core
|
|||||||
}
|
}
|
||||||
|
|
||||||
var neighbor = cells[x, y];
|
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);
|
queue.Enqueue(neighbor);
|
||||||
}
|
}
|
||||||
@@ -295,6 +296,17 @@ namespace Minesweeper.Core
|
|||||||
AddChangedCell(cell);
|
AddChangedCell(cell);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ClearFlag(CellData cell)
|
||||||
|
{
|
||||||
|
if (!cell.IsFlagged)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell.IsFlagged = false;
|
||||||
|
FlaggedCellsCount--;
|
||||||
|
}
|
||||||
|
|
||||||
private void AddChangedCell(CellData cell)
|
private void AddChangedCell(CellData cell)
|
||||||
{
|
{
|
||||||
changedCells.Add(ToData(cell));
|
changedCells.Add(ToData(cell));
|
||||||
|
|||||||
Reference in New Issue
Block a user