private double GetRaise(double handStrength, Pot pot, double raiseSoFar) { double higherRaise = raiseSoFar + RAISE_STEP; double potOddsForHigher = CalculatePotOdds(pot, higherRaise); double rateOfReturnForHigher = handStrength / potOddsForHigher; if (raiseSoFar > pot.GetHighestBet()){ if (D100() < 40){ return raiseSoFar; } } int d100 = D100(); if (rateOfReturnForHigher < 1.0){ if (d100 < 95){ return raiseSoFar; } else { return GetRaise(handStrength, pot, higherRaise); } } else if (rateOfReturnForHigher < 1.3){ if (d100 < 30){ return raiseSoFar; } else { return GetRaise(handStrength, pot, higherRaise); } } else { if (d100 < 5){ return raiseSoFar; } else { return GetRaise(handStrength, pot, higherRaise); } } }
private double GetBluff(Pot pot) { double multiplier = (double)Random.Range(1.5f, 2.5f); return ((int)(multiplier * pot.GetHighestBet() / RAISE_STEP)) * RAISE_STEP; }