Example #1
0
 private void OpenCell(MinefieldCellViewModel minefieldCell)
 {
     OpenCell(minefieldCell.Row, minefieldCell.Column);
     if (IsVictoryReached(MinefieldCells))
     {
         GameStatus = GameStatus.Victory;
     }
 }
Example #2
0
        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);
        }