public Player() { HoldemHand = new HoldemHand(); Money = 100; }
public Odds CalculateOdds(PokerHand SharedCards) { List <HoldemHand> PossibleHandsOfOpponent = new List <HoldemHand>(); PokerHand BestPokerHand = new PokerHand(); PokerHand[] BestPokerHandArray = new PokerHand[990]; int NumWins = 0, NumDraws = 0, NumLoses = 0; double ChancesOfWinning = 0.0, ChancesOfLosing = 0.0, ChancesOfDrawing = 0.0; int ResultOfComparison; for (int i = 0; i < 990; ++i) { BestPokerHandArray[i] = new PokerHand(); } Deck.Remove(SharedCards.Hand[0]); Deck.Remove(SharedCards.Hand[1]); Deck.Remove(SharedCards.Hand[2]); Deck.Remove(SharedCards.Hand[3]); Deck.Remove(SharedCards.Hand[4]); Deck.Remove(Hand[0]); Deck.Remove(Hand[1]); for (int i = 0; i < 45; ++i) { for (int j = i + 1; j < 45; ++j) { HoldemHand TmpHoldemHand = new HoldemHand(); TmpHoldemHand.Hand[0] = Deck.ElementAt(i); TmpHoldemHand.Hand[1] = Deck.ElementAt(j); PossibleHandsOfOpponent.Insert(0, TmpHoldemHand); } } BestPokerHand = FindBestPokerHand(SharedCards); for (int i = 0; i < 990; ++i) { BestPokerHandArray[i] = PossibleHandsOfOpponent.ElementAt(i).FindBestPokerHand(SharedCards); } for (int i = 0; i < 990; ++i) { ResultOfComparison = BestPokerHand.CompareTo(BestPokerHandArray[i]); if (ResultOfComparison == 1) { ++NumWins; } else if (ResultOfComparison == -1) { ++NumLoses; } else { ++NumDraws; } } Deck.Insert(0, SharedCards.Hand[0]); Deck.Insert(0, SharedCards.Hand[1]); Deck.Insert(0, SharedCards.Hand[2]); Deck.Insert(0, SharedCards.Hand[3]); Deck.Insert(0, SharedCards.Hand[4]); Deck.Insert(0, Hand[0]); Deck.Insert(0, Hand[1]); ChancesOfWinning = (NumWins / 990.0) * 100.0; ChancesOfLosing = (NumLoses / 990.0) * 100.0; ChancesOfDrawing = (NumDraws / 990.0) * 100.0; return(new Odds(ChancesOfWinning, ChancesOfLosing, ChancesOfDrawing)); }