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;
 }