private void OpenCell(MinefieldCellViewModel minefieldCell) { OpenCell(minefieldCell.Row, minefieldCell.Column); if (IsVictoryReached(MinefieldCells)) { GameStatus = GameStatus.Victory; } }
private void MarkCell(MinefieldCellViewModel minefieldCell) { minefieldCell.State = minefieldCell.State != MinefieldCellState.Marked ? MinefieldCellState.Marked : MinefieldCellState.Closed; if (!IsVictoryReached(MinefieldCells)) { return; } GameStatus = GameStatus.Victory; }
private static MinefieldCellViewModel[,] ToViewModels(MinefieldCell[,] minefieldCells, int mineFieldSize) { var minefieldCellVms = new MinefieldCellViewModel[mineFieldSize, mineFieldSize]; for (var row = 0; row < mineFieldSize; row++) { for (var col = 0; col < mineFieldSize; col++) { minefieldCellVms[row, col] = new MinefieldCellViewModel { Row = minefieldCells[row, col].Row, Column = minefieldCells[row, col].Column, HasMine = minefieldCells[row, col].HasMine, NeibourMinesCount = minefieldCells[row, col].NeibourMinesCount, State = minefieldCells[row, col].State } } } ; return(minefieldCellVms); }