Esempio n. 1
0
        public WumpusViewModel(WumpusModel model)
        {
            _model            = model;
            _model.OnStep    += new EventHandler <WumpusEventArgs>(RefreshTable);
            _model.OnGameWon += new EventHandler <EventArgs>(Uncover);

            UncoverCommand = new DelegateCommand(p => Uncover());

            UpCommand    = new DelegateCommand(p => _model.IsGameOn, p => _model.StepUp());
            DownCommand  = new DelegateCommand(p => _model.IsGameOn, p => _model.StepDown());
            LeftCommand  = new DelegateCommand(p => _model.IsGameOn, p => _model.StepLeft());
            RightCommand = new DelegateCommand(p => _model.IsGameOn, p => _model.StepRight());

            StepCommand           = new DelegateCommand(p => _model.IsGameOn, p => _model.Step((String)p));
            ShootCommand          = new DelegateCommand(p => _model.IsGameOn, p => { _model.Shoot((String)p); OnPropertyChanged("arrows"); });
            NewGameOptionsCommand = new DelegateCommand(p => ShowNewGameOptions());
            StartNewGameCommand   = new DelegateCommand(p => StartNewGame());

            TableSizeList = new List <int> {
                4, 5, 6, 7, 8
            };
            NumberOfArrowsList = new List <int> {
                1, 2, 3, 4, 5, 6
            };
            NumberOfBatsList = new List <int> {
                3, 4, 5, 6
            };
            NumberOfPitsList = new List <int> {
                3, 4, 5, 6
            };

            NewGameSettings = new GameSettings
            {
                NumberOfArrows = 6,
                NumberOfBats   = 3,
                NumberOfPits   = 3,
                TableSize      = 8
            };
        }
Esempio n. 2
0
        private void App_Startup(object sender, StartupEventArgs e)
        {
            GameSettings settings = new GameSettings
            {
                TableSize      = 6,
                NumberOfArrows = 6,
                NumberOfBats   = 3,
                NumberOfPits   = 3
            };

            _model = new WumpusModel();
            _model.NewGame(settings);

            _viewModel = new WumpusViewModel(_model);
            _viewModel.NewGameOptions += new EventHandler <EventArgs>(App_ShowNewGameOptions);
            _viewModel.OnStartNewGame += new EventHandler <WumpusEventArgs>(App_StartNewGame);
            _viewModel.NewGame(settings);

            _view             = new MainWindow();
            _view.DataContext = _viewModel;
            _view.Show();

            Console.WriteLine(_model.TableSize);
        }