Exemple #1
0
        public BlockDocuViewModel(BlockDocuModel model)
        {
            // játék csatlakoztatása
            _model = model;
            _model.GameAdvanced += new EventHandler <BlockDocuEventArgs>(Model_GameAdvanced);
            _model.GameOver     += new EventHandler <BlockDocuEventArgs>(Model_GameOver);
            _model.GameCreated  += new EventHandler <BlockDocuEventArgs>(Model_GameCreated);

            // parancsok kezelése
            NewGameCommand = new DelegateCommand(param => OnNewGame());
            // játéktábla létrehozása
            Fields = new ObservableCollection <BlockDocuField>();
            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 BlockDocuField
                    {
                        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();
        }
        private void BlockDocuView_Load(object sender, EventArgs e)
        {
            _model = new BlockDocuModel();
            _model.GameAdvanced += new EventHandler <BlockDocuEventArgs>(Game_GameAdvanced);
            _model.GameOver     += new EventHandler <BlockDocuEventArgs>(Game_GameOver);

            // időzítő létrehozása
            _timer          = new Timer();
            _timer.Interval = 1000;
            _timer.Tick    += new EventHandler(Timer_Tick);

            // játéktábla és menük inicializálása
            GenerateTable();

            // új játék indítása
            _model.NewGame();
            SetupTable();

            _timer.Start();
        }
Exemple #3
0
        private void App_Startup(object sender, StartupEventArgs e)
        {
            // modell létrehozása
            _model           = new BlockDocuModel();
            _model.GameOver += new EventHandler <BlockDocuEventArgs>(Model_GameOver);
            _model.NewGame();

            // nézemodell létrehozása
            _viewModel          = new BlockDocuViewModel(_model);
            _viewModel.NewGame += new EventHandler(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();
        }