/// <summary> /// show viewmodel with VM name /// </summary> /// <param name="VMName"></param> public void ShowViewModel(string VMName) { BaseVM viewModel = null; switch (VMName) { case nameof(OnePlayerVM): viewModel = new OnePlayerVM(); break; case nameof(TwoPlayerVM): viewModel = new TwoPlayerVM(); break; case nameof(StartPageVM): viewModel = new StartPageVM(); break; } CurrentViewModel = viewModel; }
private void Button_Click(object sender, RoutedEventArgs e) { // initialize pageVM pageVM = pageVM ?? (OnePlayerVM)DataContext; // get cellID from Tag int cellID = int.Parse((sender as Button).Tag.ToString()); #region User's move // user's move if (!pageVM.GameBoard.IsEmpty(cellID)) { return; } pageVM.GameBoard.Place(cellID); // Winner? char?winner = pageVM.GameBoard.Winner; if (winner != null) { pageVM.GameTimer.StopTimer(); WinnerTextBlock.Visibility = Visibility.Visible; return; } #endregion #region AI's move // AI's move pageVM.GameBot.BestMove(); // Winner? winner = pageVM.GameBoard.Winner; if (winner != null) { pageVM.GameTimer.StopTimer(); WinnerTextBlock.Visibility = Visibility.Visible; } #endregion }