Exemplo n.º 1
0
        public TiliToliViewModel(TiliToliModel model)
        {
            // játék csatlakoztatása
            GridSize             = 5;
            _model               = model;
            _model.GameAdvanced += new EventHandler <TiliToliEventArgs>(Model_GameAdvanced);
            _model.GameOver     += new EventHandler <TiliToliEventArgs>(Model_GameOver);
            _model.GameCreated  += new EventHandler <TiliToliEventArgs>(Model_GameCreated);

            // parancsok kezelése
            NewGameCommand  = new DelegateCommand(param => OnNewGame(GridSize));
            NewGameCommand3 = new DelegateCommand(param => OnNewGame(3));
            NewGameCommand4 = new DelegateCommand(param => OnNewGame(4));
            NewGameCommand5 = new DelegateCommand(param => OnNewGame(5));
            // játéktábla létrehozása
            Fields = new ObservableCollection <TiliToliField>();

            for (Int32 i = 0; i < _model.Table.Size; i++) // inicializáljuk a mezőket
            {
                for (Int32 j = 0; j < _model.Table.Size; j++)
                {
                    Fields.Add(new TiliToliField
                    {
                        Text        = String.Empty,
                        X           = i,
                        Y           = j,
                        Number      = i * _model.Table.Size + j, // a gomb sorszáma, amelyet felhasználunk az azonosításhoz
                        StepCommand = new DelegateCommand(param => StepGame(Convert.ToInt32(param)))
                                                                 // ha egy mezőre léptek, akkor jelezzük a léptetést, változtatjuk a lépésszámot
                    });
                }
            }


            RefreshTable();
        }
Exemplo n.º 2
0
        private void App_Startup(object sender, StartupEventArgs e)
        {
            // modell létrehozása
            _model           = new TiliToliModel();
            _model.GameOver += new EventHandler <TiliToliEventArgs>(Model_GameOver);
            _model.NewGame(5);

            // nézemodell létrehozása
            _viewModel          = new TiliToliViewModel(_model);
            _viewModel.NewGame += ViewModel_NewGame;


            // nézet létrehozása
            _view             = new MainWindow();
            _view.DataContext = _viewModel;
            //_view.Closing += new System.ComponentModel.CancelEventHandler(View_Closing); // eseménykezelés a bezáráshoz
            _view.Show();

            // időzítő létrehozása
            _timer          = new DispatcherTimer();
            _timer.Interval = TimeSpan.FromSeconds(1);
            _timer.Tick    += new EventHandler(Timer_Tick);
            _timer.Start();
        }