Пример #1
0
        private void OnCreateNewBoard(object parameter)
        {
            if (parameter == null)
            {
                this.Minesweeper = MinesweeperFactory.Create(this.Minesweeper);
                return;
            }

            if (parameter is BoardSize)
            {
                this.Minesweeper = MinesweeperFactory.Create((BoardSize)parameter);
            }
            else if (parameter is string)
            {
                var text = (string)parameter;
                if (text.StartsWith("*"))
                {
                    var boardSize = new BoardSize(this.Minesweeper.Tiles.Width, this.Minesweeper.Tiles.Height, this.Minesweeper.MineCount);
                    this.Minesweeper = MinesweeperFactory.Create(boardSize);
                }
                else
                {
                    var boardSize = BoardSize.Parse(parameter.ToString());
                    this.Minesweeper = MinesweeperFactory.Create(boardSize);
                }
            }
            else
            {
                throw new ArgumentException("parameter must either be of type String or BoardSize, or be set to null.");
            }
        }
Пример #2
0
        public MinesweeperViewModel()
        {
            this.gameTimer = new WinTimer(this.TimerProc, 1000);

            this.MenuViewModel      = new MenuViewModel();
            this.DisplayViewModel   = new DisplayPanelViewModel();
            this.TileBoardViewModel = new TileBoardViewModel();

            this.Minesweeper = MinesweeperFactory.GetFromSettings();
        }