private void ViewModel_NewGame(object sender, EventArgs e) { _newGame = new NewGameWindow(); _newGame.ShowDialog(); if (_newGame.DialogResult.GetValueOrDefault(true)) { _viewModel.TableSize = _newGame.size; _model._tableSize = _newGame.size; _model.NewGame(); } }
/// <summary> /// Játék megnyerésének eseménykezelése. /// </summary> private void Model_GameWon(object sender, GameWonEventArgs e) { switch (e.Player) { case Player.PlayerO: MessageBox.Show("A kör játékos győzött!", "Játék vége!", MessageBoxButton.OK, MessageBoxImage.Asterisk); break; case Player.PlayerX: MessageBox.Show("A kereszt játékos győzött!", "Játék vége!", MessageBoxButton.OK, MessageBoxImage.Asterisk); break; } _model.NewGame(); }
/// <summary> /// Tic-Tac-Toe játékmodell példányosítása. /// </summary> public TicTacToeViewModel(ITicTacToeModel model) { TableSize = 10; _model = model; _model._tableSize = TableSize; _model.NewGame(); _model.GameStarted += new EventHandler <GameStartedEventArgs>(Model_GameStarted); _model.GameLoaded += Model_GameLoaded; _model.FieldChanged += new EventHandler <FieldChangedEventArgs>(Model_FieldChanged); _model.GameOver += new EventHandler <GameOverEventArgs>(Model_GameOver); _model.TimePassed += new EventHandler <TimePassedEventArgs>(Model_TimePassed); CurrentPlayer = PlayerToField(_model._currentPlayer); // parancsok kezelése //NewGameCommand = new DelegateCommand(param => _model.NewGame()); NewGameCommand = new DelegateCommand(param => onNewGame()); LoadGameCommand = new DelegateCommand(param => OnLoadGame()); SaveGameCommand = new DelegateCommand(param => OnSaveGame()); ExitGameCommand = new DelegateCommand(param => OnGameExit()); PauseGameCommand = new DelegateCommand(param => OnGamePause()); // játéktábla létrehozása Fields = new ObservableCollection <TicTacToeField>(); Refresh(); }
private void Model_GameOver(object sender, GameOverEventArgs e) { if (e.Winner == _model.PlayerOne) { MessageBox.Show("A kereszt játékos győzött!", "Játék vége!", MessageBoxButton.OK, MessageBoxImage.Asterisk); } else if (e.Winner == _model.PlayerTwo) { MessageBox.Show("A kör játékos győzött!", "Játék vége!", MessageBoxButton.OK, MessageBoxImage.Asterisk); } else { MessageBox.Show("A játék döntetlen!", "Játék vége!", MessageBoxButton.OK, MessageBoxImage.Asterisk); } _model.NewGame(); }
/// <summary> /// Tic-Tac-Toe játékmodell példányosítása. /// </summary> public TicTacToeViewModel(ITicTacToeModel model) { _model = model; _model.GameStarted += new EventHandler(Model_GameStarted); _model.FieldChanged += new EventHandler <FieldChangedEventArgs>(Model_FieldChanged); // parancsok kezelése NewGameCommand = new DelegateCommand(param => _model.NewGame()); LoadGameCommand = new DelegateCommand(param => OnLoadGame()); SaveGameCommand = new DelegateCommand(param => OnSaveGame()); ExitGameCommand = new DelegateCommand(param => OnGameExit()); // játéktábla létrehozása Fields = new ObservableCollection <TicTacToeField>(); TableSize = 30; Refresh(); }
/// <summary> /// Alkalmazás indulásának eseménykezelője. /// </summary> private void App_Startup(object sender, StartupEventArgs e) { _dataAccess = new TicTacToeFileDataAccess(); _model = new BasicTicTacToeModel(_dataAccess); _model.GameWon += new EventHandler <GameWonEventArgs>(Model_GameWon); _model.GameOver += new EventHandler(Model_GameOver); _model.NewGame(); _viewModel = new TicTacToeViewModel(_model); _viewModel.LoadGame += new EventHandler(ViewModel_LoadGame); // kezeljük a nézetmodell eseményeit _viewModel.SaveGame += new EventHandler(ViewModel_SaveGame); _viewModel.GameExit += new EventHandler(ViewModel_GameExit); _window = new TicTacToeWindow(); _window.DataContext = _viewModel; _window.Show(); }
public void Initialize(Player p1, Player p2) { _model = Activator.CreateInstanceFrom("TicTacToeModel.dll", "TicTacToeModel.TicTacToeModel") .Unwrap() as ITicTacToeModel; _model.Initialize(p1, p2); _model.GameOver += new EventHandler <GameOverEventArgs>(Model_GameOver); _viewModel = Activator.CreateInstanceFrom("TicTacToeViewModel.dll", "TicTacToeViewModel.TicTacToeViewModel") .Unwrap() as ITicTacToeViewModel; _viewModel.Initialize(_model); _viewModel.BackCommand = new DelegateCommand(p => ViewModel_GameExit()); _model.NewGame(); _window = Activator.CreateInstanceFrom("TicTacToeView.dll", "TicTacToeView.TicTacToeWindow").Unwrap() as Window; _window.DataContext = _viewModel; _window.Closed += new EventHandler(OnWindowClosed); }