static Color OccupierToColor(Occupier Occupier) { switch (Occupier) { case Occupier.Player1: return(Colors.Red); default: return(Colors.Blue); } }
static Color OccupierToColor(Occupier Occupier) { switch (Occupier) { case Occupier.Player1: return Colors.Red; default: return Colors.Blue; } }
async void OnGameOver(Occupier Winner) { WinnerLabel.Content = WinnerTextToDisplay(Winner); WinnerLabel.Visibility = Visibility.Visible; await Task.Delay(2000); WinnerLabel.Visibility = Visibility.Collapsed; _mainViewModel.StartNewGame(); }
string WinnerTextToDisplay(Occupier Winner) { switch (Winner) { case Occupier.ComputerOrPlayer2: return(_mainViewModel.GameType == GameType.SinglePlayer ? "Computer Won" : "Player 2 Won"); case Occupier.Player1: return(_mainViewModel.GameType == GameType.SinglePlayer ? "You Won" : "Player 1 Won"); default: return("Draw"); } }
static string OccupierToContent(Occupier Occupier) { switch (Occupier) { case Occupier.Player1: return "O"; case Occupier.ComputerOrPlayer2: return "X"; default: return null; } }
string WinnerTextToDisplay(Occupier Winner) { switch (Winner) { case Occupier.ComputerOrPlayer2: return _mainViewModel.GameType == GameType.SinglePlayer ? "Computer Won" : "Player 2 Won"; case Occupier.Player1: return _mainViewModel.GameType == GameType.SinglePlayer ? "You Won" : "Player 1 Won"; default: return "Draw"; } }
static string OccupierToContent(Occupier Occupier) { switch (Occupier) { case Occupier.Player1: return("O"); case Occupier.ComputerOrPlayer2: return("X"); default: return(null); } }
void FindWinner(Occupier Occupier) { var isWon = false; for (var n = 0; n < 8; ++n) { if (_waysToWin[n, 0].Occupier != Occupier || _waysToWin[n, 1].Occupier != Occupier || _waysToWin[n, 2].Occupier != Occupier) continue; isWon = true; break; } if (isWon) { if (Occupier == Occupier.Player1) { if (GameType == GameType.SinglePlayer) Stats.SinglePlayer.Player.Increment(Level); else Stats.TwoPlayer.Player1++; _playerStarts = true; GameOver?.Invoke(Occupier.Player1); } else { if (GameType == GameType.SinglePlayer) Stats.SinglePlayer.Computer.Increment(Level); else Stats.TwoPlayer.Player2++; _playerStarts = false; GameOver?.Invoke(Occupier.ComputerOrPlayer2); } } else { if (_done > 8) { if (GameType == GameType.SinglePlayer) Stats.SinglePlayer.Draws.Increment(Level); else Stats.TwoPlayer.Draws++; _playerStarts = !_playerStarts; GameOver?.Invoke(Occupier.None); } else if (Occupier == Occupier.Player1 && GameType == GameType.SinglePlayer) ComputerTurn(); } }
void FindWinner(Occupier Occupier) { var isWon = false; for (var n = 0; n < 8; ++n) { if (_waysToWin[n, 0].Occupier != Occupier || _waysToWin[n, 1].Occupier != Occupier || _waysToWin[n, 2].Occupier != Occupier) { continue; } isWon = true; break; } if (isWon) { if (Occupier == Occupier.Player1) { if (GameType == GameType.SinglePlayer) { Stats.SinglePlayer.Player.Increment(Level); } else { Stats.TwoPlayer.Player1++; } _playerStarts = true; GameOver?.Invoke(Occupier.Player1); } else { if (GameType == GameType.SinglePlayer) { Stats.SinglePlayer.Computer.Increment(Level); } else { Stats.TwoPlayer.Player2++; } _playerStarts = false; GameOver?.Invoke(Occupier.ComputerOrPlayer2); } } else { if (_done > 8) { if (GameType == GameType.SinglePlayer) { Stats.SinglePlayer.Draws.Increment(Level); } else { Stats.TwoPlayer.Draws++; } _playerStarts = !_playerStarts; GameOver?.Invoke(Occupier.None); } else if (Occupier == Occupier.Player1 && GameType == GameType.SinglePlayer) { ComputerTurn(); } } }