Exemple #1
0
        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);
        }
Exemple #2
0
        public override string ToString()
        {
            Ranking theRanking = PokerRankings.GetRanking(this);

            return(theRanking.HighestFaceValue.ToString() + " - " + theRanking.RankingType.ToString());
        }