private Player GetTopRanking() { if (_Players.Count == 0) { throw new ArgumentException("No player in the game."); } Player Winner = _Players[0]; Ranking topRanking; topRanking.RankingType = RankingType.HighCard; topRanking.HighestFaceValue = FaceValue.Two; foreach (Player player in _Players) { Ranking theRanking = PokerRankings.GetRanking(player.Hand); if (theRanking.RankingType > topRanking.RankingType) { topRanking.RankingType = theRanking.RankingType; topRanking.HighestFaceValue = theRanking.HighestFaceValue; Winner = player; } else if (theRanking.RankingType == topRanking.RankingType) { if (theRanking.HighestFaceValue == FaceValue.Ace) { topRanking.RankingType = theRanking.RankingType; topRanking.HighestFaceValue = theRanking.HighestFaceValue; Winner = player; } else if (theRanking.HighestFaceValue != FaceValue.Ace && topRanking.HighestFaceValue != FaceValue.Ace && theRanking.HighestFaceValue > topRanking.HighestFaceValue) { topRanking.RankingType = theRanking.RankingType; topRanking.HighestFaceValue = theRanking.HighestFaceValue; Winner = player; } } } return(Winner); }
public override string ToString() { Ranking theRanking = PokerRankings.GetRanking(this); return(theRanking.HighestFaceValue.ToString() + " - " + theRanking.RankingType.ToString()); }