Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace AppBundle\Service;
- /**
- * Class PreFlopSolutionService
- * @package AppBundle\Service
- */
- class PreFlopSolutionService extends BaseService
- {
- const IN_POSITION = 'IP';
- const OUT_OF_POSITION = 'OOP';
- const UNOPENED = 'UNOPENED';
- const FACING_OPENING = 'FACING_OPENING';
- const FACING_3BET = 'FACING_3BET';
- const FACING_4BET = 'FACING_4BET';
- const FACING_4BET_SHOVE = 'FACING_4BET_SHOVE';
- const FACING_5BET_SHOVE = 'FACING_5BET_SHOVE';
- /**
- * @param $position
- * @param $hand
- * @param null $situation
- * @return array
- */
- public function getPreFlopSolution($position, $hand, $situation)
- {
- $orderedHand = $this->sortHand($hand);
- $isSuited = $this->isThisHandSuited($hand);
- $handArray = str_split($orderedHand);
- $handValues = $handArray[0] . $handArray[2];
- if ($position == self::IN_POSITION) {
- switch ($situation) {
- case self::UNOPENED:
- // step 1: can fold or open
- return $this->handleIpUnopened($handValues, $isSuited, $situation);
- break;
- // step 3: fold, call, 4bet, 4bet_shove
- case self::FACING_3BET:
- return $this->handleIpFacing3Bet($handValues, $isSuited, $situation);
- break;
- // step 5: call and fold
- case self::FACING_5BET_SHOVE:
- return $this->handleIpFacing5BetShove($handValues, $isSuited, $situation);
- break;
- }
- }
- if ($position == self::OUT_OF_POSITION) {
- switch ($situation) {
- // step 2, ip opened, so now we can fold, call, or 3bet
- case self::FACING_OPENING:
- return $this->handleOopFacingOpening($handValues, $isSuited, $situation);
- break;
- // step 4a, facing 4bet, we can fold, call, 5bet_shove
- case self::FACING_4BET:
- return $this->handleOopFacing4Bet($handValues, $isSuited, $situation);
- break;
- // step 4b, facing 4bet_shove we can call or fold
- case self::FACING_4BET_SHOVE:
- return $this->handleOopFacing4BetShove($handValues, $isSuited, $situation);
- break;
- }
- }
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return array|string
- *
- * step 3: fold, call, 4bet, 4bet_shove
- */
- private function handleIpFacing3Bet($handValues, $isSuited, $situation)
- {
- $foldPercentage = $this->getIpFoldvs3betRange($handValues, $isSuited);
- $callPercentage = $this->getIpCallvs3betRange($handValues, $isSuited);
- $fourBetPercentage = $this->getIp4Betrange($handValues, $isSuited);
- $fourBetShovePercentage= $this->getIp4BetShoveRange($handValues, $isSuited);
- $percentageArray = array(
- "fold" => $foldPercentage,
- "call" => $callPercentage,
- "4bet" => $fourBetPercentage,
- "shove" => $fourBetShovePercentage
- );
- return $this->pickRandomAction($percentageArray, ["situation" => $situation]);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return array
- *
- * step 5: call and fold
- */
- private function handleIpFacing5BetShove($handValues, $isSuited, $situation)
- {
- $callPercentage = $this->getCallVs5BetShoveRange($handValues, $isSuited);
- $foldPercentage = $this->getFoldVs5BetShoveRange($handValues, $isSuited);
- $percentageArray = array(
- "fold" => $foldPercentage,
- "call" => $callPercentage);
- return $this->pickRandomAction($percentageArray, ["situation" => $situation]);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return array
- *
- * step 4a, facing 4bet, we can fold, call, 5bet_shove
- */
- private function handleOopFacing4Bet($handValues, $isSuited, $situation)
- {
- $callPercentage = $this->getOopCallvs4Betrange($handValues, $isSuited);
- $foldPercentage = $this->getOopFoldvs4Betrange($handValues, $isSuited);
- $fiveBetPercentage = $this->getOop5BetShoveRange($handValues, $isSuited);
- $percentageArray = array(
- "fold" => $foldPercentage,
- "call" => $callPercentage,
- "shove" => $fiveBetPercentage
- );
- return $this->pickRandomAction($percentageArray, ["situation" => $situation]);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return array
- *
- * step 4b, facing 4bet_shove we can call or fold
- */
- private function handleOopFacing4BetShove($handValues, $isSuited, $situation)
- {
- $callPercentage = $this->getCallVs4BetShoveRange($handValues, $isSuited);
- $foldPercentage = $this->getFoldVs4BetShoveRange($handValues, $isSuited);
- $percentageArray = array(
- "fold" => $foldPercentage,
- "call" => $callPercentage
- );
- return $this->pickRandomAction($percentageArray, ["situation" => $situation]);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @param $range
- * @return int
- */
- private function getPercentage($handValues, $isSuited, $range)
- {
- $percentage = 0;
- if (array_key_exists($handValues, $range)) {
- $percentage = $range[$handValues];
- }
- if ($isSuited === true) {
- $handValues .= "s";
- if (array_key_exists($handValues, $range)) {
- $percentage = $range[$handValues];
- }
- }
- if ($isSuited === false) {
- $handValues .= "o";
- if (array_key_exists($handValues, $range)) {
- $percentage = $range[$handValues];
- }
- }
- return $percentage;
- }
- /**
- * @param $percentageArray
- * @param $situation
- * @return array
- */
- private function pickRandomAction($percentageArray, $situation)
- {
- $rand = rand(1, 100);
- $sum = 0;
- $chosenAction = "";
- foreach ($percentageArray as $k => $v) {
- $sum += $v;
- if ($sum >= $rand) {
- $chosenAction = array("advice" => $k);;
- break;
- }
- }
- return array_merge($situation, $chosenAction, $percentageArray);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return array
- */
- private function handleOopFacingOpening($handValues, $isSuited, $situation)
- {
- $foldingsPercentage = $this->getOopFoldingRange($handValues, $isSuited);
- $driebetPercentage = $this->getOopDrieBetRange($handValues, $isSuited);
- $callingsPercentage = 100 - $foldingsPercentage - $driebetPercentage;
- $percentageArray = array(
- "fold" => $foldingsPercentage,
- "call" => $callingsPercentage,
- "3bet" => $driebetPercentage
- );
- return $this->pickRandomAction($percentageArray, ["situation" => $situation]);
- }
- /**
- * we can fold or open
- *
- * @param $handValues
- * @param $isSuited
- * @return array
- */
- private function handleIpUnopened($handValues, $isSuited, $situation)
- {
- $openingsPercentage = $this->getIpOpeningsRange25x($handValues, $isSuited);
- $foldingsPercentage = 100 - $openingsPercentage;
- $percentageArray = array(
- "fold" => $foldingsPercentage,
- "open" => $openingsPercentage
- );
- return $this->pickRandomAction($percentageArray, ["situation" => $situation]);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return mixed
- */
- private function getOopFoldingRange($handValues, $isSuited)
- {
- $range = array(
- 'K3o' => 10,
- 'K2o' => 100,
- 'Q5o' => 85,
- 'Q4o' => 70,
- 'Q3o' => 100,
- 'Q2o' => 100,
- 'J6o' => 100,
- 'J5o' => 100,
- 'J4o' => 100,
- 'J3o' => 100,
- 'J2o' => 100,
- 'T6o' => 100,
- 'T5o' => 100,
- 'T4o' => 100,
- 'T3o' => 100,
- 'T2o' => 100,
- '96o' => 45,
- '95o' => 100,
- '94o' => 100,
- '93o' => 100,
- '92o' => 100,
- '85o' => 100,
- '84o' => 100,
- '83o' => 100,
- '82' => 100,
- '75o' => 35,
- '74o' => 100,
- '73o' => 100,
- '72' => 100,
- '64o' => 100,
- '63o' => 100,
- '62o' => 100,
- '54o' => 65,
- '53o' => 90,
- '52o' => 100,
- '43o' => 100,
- '42o' => 100,
- '32o' => 100
- );
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getOopDrieBetRange($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 100,
- 'KK' => 100,
- 'QQ' => 100,
- 'JJ' => 100,
- 'TT' => 100,
- '99' => 100,
- '88' => 100,
- '77' => 100,
- '66' => 75,
- '55' => 60,
- '44' => 25,
- '33' => 15,
- 'AK' => 100,
- 'AQ' => 100,
- 'AJ' => 100,
- 'ATs' => 100,
- 'ATo' => 70,
- 'A9s' => 100,
- 'A9o' => 45,
- 'A8s' => 65,
- 'A8o' => 10,
- 'A7s' => 25,
- 'A7o' => 15,
- 'A6s' => 30,
- 'A5s' => 90,
- 'A4s' => 85,
- 'A3s' => 60,
- 'A2s' => 20,
- 'KQs' => 100,
- 'KQo' => 80,
- 'KJs' => 100,
- 'KJo' => 35,
- 'KTs' => 100,
- 'KTo' => 25,
- 'K9s' => 85,
- 'K9o' => 15,
- 'K8s' => 15,
- 'K7s' => 30,
- 'K7o' => 10,
- 'K6s' => 35,
- 'K6o' => 5,
- 'K5s' => 30,
- 'K4s' => 55,
- 'K3s' => 85,
- 'K3o' => 5,
- 'K2s' => 25,
- 'QJs' => 100,
- 'QJo' => 15,
- 'QTs' => 100,
- 'QTo' => 15,
- 'Q9s' => 30,
- 'Q9o' => 25,
- 'Q8s' => 45,
- 'Q7s' => 35,
- 'Q6s' => 35,
- 'Q4s' => 15,
- 'Q3s' => 20,
- 'Q2s' => 10,
- 'JTs' => 100,
- 'JTo' => 15,
- 'J9s' => 45,
- 'J9o' => 20,
- 'J8s' => 60,
- 'J7s' => 40,
- 'J5s' => 10,
- 'J3s' => 25,
- 'T9s' => 70,
- 'T9o' => 20,
- 'T8s' => 45,
- 'T8o' => 25,
- 'T7s' => 75,
- 'T7o' => 5,
- 'T6s' => 30,
- '98s' => 90,
- '98o' => 15,
- '97s' => 100,
- '97o' => 20,
- '96s' => 60,
- '95s' => 10,
- '93s' => 10,
- '87s' => 80,
- '87o' => 20,
- '86s' => 100,
- '86o' => 25,
- '85s' => 50,
- '84s' => 25,
- '76s' => 100,
- '76o' => 25,
- '75s' => 65,
- '74s' => 45,
- '65s' => 100,
- '65o' => 10,
- '64s' => 30,
- '63s' => 25,
- '54s' => 100,
- '52s' => 15,
- '43s' => 15,
- '32s' => 10
- );
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getIpOpeningsRange25x($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 100,
- 'KK' => 100,
- 'QQ' => 100,
- 'JJ' => 100,
- 'TT' => 100,
- '99' => 100,
- '88' => 100,
- '77' => 100,
- '66' => 100,
- '55' => 100,
- '44' => 100,
- '33' => 100,
- '22' => 100,
- 'AK' => 100,
- 'AQ' => 100,
- 'AJ' => 100,
- 'AT' => 100,
- 'A9' => 100,
- 'A8' => 100,
- 'A7' => 100,
- 'A6' => 100,
- 'A5' => 100,
- 'A4' => 100,
- 'A3' => 100,
- 'A2' => 100,
- 'KQ' => 100,
- 'KJ' => 100,
- 'KT' => 100,
- 'K9' => 100,
- 'K8' => 100,
- 'K7' => 100,
- 'K6' => 100,
- 'K5' => 100,
- 'K4' => 100,
- 'K3' => 100,
- 'K2' => 100,
- 'QJ' => 100,
- 'QT' => 100,
- 'Q9' => 100,
- 'Q8' => 100,
- 'Q7' => 100,
- 'Q6' => 100,
- 'Q5' => 100,
- 'Q4' => 100,
- 'Q3' => 100,
- 'Q2' => 100,
- 'JT' => 100,
- 'J9' => 100,
- 'J8' => 100,
- 'J7' => 100,
- 'J6' => 100,
- 'J5' => 100,
- 'J4' => 100,
- 'J3' => 100,
- 'J2s' => 100,
- 'J2o' => 25,
- 'T9' => 100,
- 'T8' => 100,
- 'T7' => 100,
- 'T6' => 100,
- 'T5' => 100,
- 'T4s' => 100,
- 'T4o' => 50,
- 'T3s' => 100,
- 'T3o' => 15,
- 'T2s' => 100,
- '98' => 100,
- '97' => 100,
- '96' => 100,
- '95' => 100,
- '94s' => 100,
- '94o' => 10,
- '93s' => 100,
- '92s' => 100,
- '87' => 100,
- '86' => 100,
- '85' => 100,
- '84s' => 100,
- '84o' => 10,
- '83s' => 100,
- '82s' => 100,
- '76' => 100,
- '75' => 100,
- '74s' => 100,
- '74o' => 50,
- '73s' => 100,
- '72s' => 100,
- '65' => 100,
- '64s' => 100,
- '64o' => 15,
- '63s' => 100,
- '62s' => 100,
- '54' => 100,
- '53' => 100,
- '52s' => 100,
- '43s' => 100,
- '42s' => 100,
- '32s' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getIpCallvs3betRange($handValues, $isSuited)
- {
- $range = array(
- 'TT' => 25,
- '99' => 65,
- '88' => 85,
- '77' => 100,
- '66' => 100,
- '55' => 100,
- '55' => 100,
- '44' => 100,
- '33' => 100,
- '22' => 100,
- 'AQs' => 10,
- 'AQo' => 90,
- 'AJ' => 100,
- 'ATs' => 100,
- 'ATo' => 80,
- 'A9s' => 100,
- 'A9o' => 65,
- 'A8s' => 100,
- 'A8o' => 70,
- 'A7s' => 100,
- 'A7o' => 20,
- 'A6s' => 100,
- 'A5s' => 100,
- 'A5o' => 20,
- 'A4s' => 100,
- 'A3s' => 100,
- 'A2s' => 100,
- 'KQ' => 100,
- 'KJs' => 100,
- 'KTs' => 100,
- 'K9s' => 100,
- 'K8s' => 100,
- 'K7s' => 100,
- 'K6s' => 100,
- 'K5s' => 100,
- 'K4s' => 100,
- 'K3s' => 100,
- 'K2s' => 100,
- 'KJo' => 95,
- 'KTo' => 75,
- 'K9o' => 75,
- 'QJs' => 100,
- 'QTs' => 100,
- 'Q9s' => 100,
- 'Q8s' => 100,
- 'Q7s' => 100,
- 'Q6s' => 80,
- 'Q5s' => 75,
- 'Q4s' => 70,
- 'Q3s' => 75,
- 'Q2s' => 70,
- 'Q9o' => 20,
- 'QTo' => 75,
- 'QJo' => 80,
- 'JTs' => 100,
- 'J9s' => 100,
- 'J8s' => 100,
- 'J7s' => 100,
- 'J6s' => 70,
- 'J5s' => 70,
- 'J3s' => 80,
- 'JTo' => 85,
- 'J9o' => 35,
- 'T9s' => 100,
- 'T8s' => 100,
- 'T7s' => 100,
- 'T6s' => 85,
- 'T9o' => 85,
- '98s' => 100,
- '98o' => 35,
- '97s' => 100,
- '96s' => 100,
- '87s' => 100,
- '87o' => 25,
- '86s' => 100,
- '85s' => 95,
- '76s' => 100,
- '76o' => 5,
- '75s' => 100,
- '74s' => 95,
- '65s' => 100,
- '64s' => 100,
- '63s' => 85,
- '54s' => 100,
- '53s' => 100,
- '52s' => 90,
- '43s' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getIpFoldvs3betRange($handValues, $isSuited)
- {
- $range = array(
- 'A7o' => 65,
- 'A6o' => 100,
- 'A5o' => 50,
- 'A4o' => 100,
- 'A3o' => 100,
- 'A2o' => 100,
- 'K9o' => 10,
- 'K8o' => 100,
- 'K7o' => 100,
- 'K6o' => 100,
- 'K5o' => 100,
- 'K4o' => 100,
- 'K3o' => 100,
- 'K2o' => 100,
- 'Q9o' => 65,
- 'Q8o' => 100,
- 'Q7o' => 100,
- 'Q6o' => 100,
- 'Q5o' => 100,
- 'Q4o' => 100,
- 'Q3o' => 100,
- 'Q2o' => 100,
- 'J9o' => 60,
- 'J8o' => 100,
- 'J7o' => 100,
- 'J6o' => 100,
- 'J5o' => 100,
- 'J4s' => 85,
- 'J4o' => 100,
- 'J3o' => 100,
- 'J2o' => 100,
- 'T8o' => 100,
- 'T7o' => 100,
- 'T6o' => 100,
- 'T5' => 100,
- 'T4' => 100,
- 'T3' => 100,
- 'T2' => 100,
- '98o' => 65,
- '97o' => 100,
- '96o' => 100,
- '95' => 100,
- '94' => 100,
- '93' => 100,
- '92' => 100,
- '87o' => 75,
- '86o' => 100,
- '85o' => 100,
- '84' => 100,
- '83' => 100,
- '82' => 100,
- '76o' => 95,
- '75o' => 100,
- '74o' => 100,
- '73' => 100,
- '72' => 100,
- '65o' => 100,
- '64o' => 100,
- '63o' => 100,
- '62' => 100,
- '54o' => 100,
- '53o' => 100,
- '52s' => 10,
- '52o' => 100,
- '43o' => 100,
- '42' => 100,
- '32' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getIp4Betrange($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 100,
- 'KK' => 100,
- 'QQ' => 100,
- 'JJ' => 100,
- 'TT' => 70,
- '99' => 35,
- '88' => 15,
- 'AKs' => 100,
- 'AKo' => 95,
- 'AQs' => 90,
- 'AQo' => 10,
- 'ATo' => 20,
- 'A9o' => 35,
- 'A8o' => 30,
- 'A7o' => 15,
- 'A5o' => 30,
- 'KJo' => 5,
- 'KTo' => 25,
- 'K9o' => 15,
- 'QJo' => 20,
- 'QTo' => 25,
- 'Q9o' => 15,
- 'Q6s' => 20,
- 'Q5s' => 25,
- 'Q4s' => 30,
- 'Q3s' => 25,
- 'Q2s' => 30,
- 'JTo' => 15,
- 'J9o' => 5,
- 'J6s' => 30,
- 'J5s' => 30,
- 'J4s' => 15,
- 'J3s' => 20,
- 'T9o' => 15,
- 'T6s' => 15,
- '85s' => 5,
- '74s' => 5,
- '63s' => 15);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getOopCallvs4Betrange($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 90,
- 'JJ' => 5,
- 'TT' => 50,
- '99' => 70,
- '88' => 70,
- '77' => 80,
- '66' => 75,
- '55' => 100,
- '44' => 60,
- '33' => 75,
- 'AQs' => 10,
- 'AQo' => 40,
- 'AJs' => 95,
- 'AJo' => 60,
- 'ATs' => 100,
- 'A9s' => 100,
- 'A8s' => 100,
- 'A7s' => 75,
- 'A6s' => 65,
- 'A5s' => 10,
- 'A3s' => 80,
- 'A2s' => 45,
- 'KQs' => 90,
- 'KQo' => 85,
- 'KJs' => 100,
- 'KTs' => 100,
- 'K9s' => 100,
- 'K6s' => 10,
- 'QJs' => 100,
- 'QTs' => 100,
- 'JTs' => 100,
- 'T9s' => 45,
- '98s' => 45,
- '87s' => 40,
- '76s' => 100,
- '65s' => 100,
- '54s' => 65);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getOopFoldvs4Betrange($handValues, $isSuited)
- {
- $range = array(
- '33' => 5,
- '22' => 100,
- 'AJo' => 40,
- 'ATo' => 100,
- 'A9o' => 100,
- 'A8o' => 100,
- 'A7s' => 25,
- 'A7o' => 100,
- 'A6s' => 35,
- 'A6o' => 100,
- 'A5o' => 100,
- 'A4o' => 100,
- 'A3o' => 100,
- 'A2s' => 35,
- 'A2o' => 100,
- 'KQo' => 15,
- 'KJo' => 100,
- 'KTo' => 100,
- 'K9o' => 100,
- 'K8' => 100,
- 'K7' => 100,
- 'K6s' => 90,
- 'K6o' => 100,
- 'K5' => 100,
- 'K4' => 100,
- 'K3' => 100,
- 'K2' => 100,
- 'QJo' => 100,
- 'QTo' => 100,
- 'Q9' => 100,
- 'Q8' => 100,
- 'Q7' => 100,
- 'Q6' => 100,
- 'Q5' => 100,
- 'Q4' => 100,
- 'Q3' => 100,
- 'Q2' => 100,
- 'JTo' => 100,
- 'J9' => 100,
- 'J8' => 100,
- 'J7' => 100,
- 'J6' => 100,
- 'J5' => 100,
- 'J4' => 100,
- 'J3' => 100,
- 'J2' => 100,
- 'T9s' => 55,
- 'T9o' => 100,
- 'T8' => 100,
- 'T7' => 100,
- 'T6' => 100,
- 'T5' => 100,
- 'T4' => 100,
- 'T3' => 100,
- 'T2' => 100,
- '98s' => 55,
- '98o' => 100,
- '97' => 100,
- '96' => 100,
- '95' => 100,
- '94' => 100,
- '93' => 100,
- '92' => 100,
- '87s' => 60,
- '87o' => 100,
- '86' => 100,
- '85' => 100,
- '84' => 100,
- '83' => 100,
- '82' => 100,
- '75' => 100,
- '76o' => 100,
- '74' => 100,
- '73' => 100,
- '72' => 100,
- '65o' => 100,
- '64' => 100,
- '63' => 100,
- '62' => 100,
- '54s' => 35,
- '54o' => 100,
- '53' => 100,
- '52' => 100,
- '43' => 100,
- '42' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getIp4BetShoveRange($handValues, $isSuited)
- {
- $range = array(
- 'TT' => 5,
- 'AKo' => 5,
- );
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getOop5BetShoveRange($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 10,
- 'KK' => 100,
- 'QQ' => 100,
- 'JJ' => 95,
- 'TT' => 50,
- '99' => 30,
- '88' => 30,
- '77' => 20,
- '66' => 25,
- '44' => 40,
- '33' => 20,
- 'AK' => 100,
- 'AQs' => 90,
- 'AQo' => 60,
- 'AJs' => 5,
- 'A5s' => 90,
- 'A4s' => 100,
- 'A3s' => 20,
- 'A2s' => 20,
- 'KQs' => 10);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getCallVs5BetShoveRange($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 100,
- 'KK' => 100,
- 'QQ' => 100,
- 'JJ' => 100,
- 'TT' => 100,
- '99' => 100,
- '88' => 100,
- 'AK' => 100,
- 'AQ' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getFoldVs5BetShoveRange($handValues, $isSuited)
- {
- $range = array(
- 'ATo' => 100,
- 'A9o' => 100,
- 'A8o' => 100,
- 'A7o' => 100,
- 'A5o' => 100,
- 'KJo' => 100,
- 'KTo' => 100,
- 'K9o' => 100,
- 'QJo' => 100,
- 'QTo' => 100,
- 'Q9o' => 100,
- 'Q6s' => 100,
- 'Q5s' => 100,
- 'Q4s' => 100,
- 'Q3s' => 100,
- 'Q2s' => 100,
- 'JTo' => 100,
- 'J9o' => 100,
- 'J6s' => 100,
- 'J5s' => 100,
- 'J4s' => 100,
- 'J3s' => 100,
- 'T9o' => 100,
- 'T6s' => 100,
- '85s' => 100,
- '74s' => 100,
- '63s' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getCallVs4BetShoveRange($handValues, $isSuited)
- {
- $range = array(
- 'AA' => 100,
- 'KK' => 100,
- 'QQ' => 100,
- 'JJ' => 100,
- 'TT' => 100,
- '99' => 100,
- '88' => 100,
- '77' => 75,
- '66' => 55,
- '55' => 15,
- 'AK' => 100,
- 'AQ' => 100,
- 'AJs' => 35,
- 'KQs' => 25);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- /**
- * @param $handValues
- * @param $isSuited
- * @return int
- */
- private function getFoldVs4BetShoveRange($handValues, $isSuited)
- {
- $range = array(
- '77' => 25,
- '66' => 45,
- '55' => 85,
- '44' => 100,
- '33' => 100,
- '22' => 100,
- 'AJs' => 65,
- 'AJo' => 100,
- 'AT' => 100,
- 'A9' => 100,
- 'A8' => 100,
- 'A7' => 100,
- 'A6' => 100,
- 'A5' => 100,
- 'A4' => 100,
- 'A3' => 100,
- 'A2' => 100,
- 'KQs' => 75,
- 'KQo' => 100,
- 'KJ' => 100,
- 'KT' => 100,
- 'K9' => 100,
- 'K8' => 100,
- 'K7' => 100,
- 'K6' => 100,
- 'K5' => 100,
- 'K4' => 100,
- 'K3' => 100,
- 'K2' => 100,
- 'QJ' => 100,
- 'QT' => 100,
- 'Q9' => 100,
- 'Q8' => 100,
- 'Q7' => 100,
- 'Q6' => 100,
- 'Q5' => 100,
- 'Q4' => 100,
- 'Q3' => 100,
- 'Q2' => 100,
- 'JT' => 100,
- 'J9' => 100,
- 'J8' => 100,
- 'J7' => 100,
- 'J6' => 100,
- 'J5' => 100,
- 'J4' => 100,
- 'J3' => 100,
- 'J2' => 100,
- 'T9' => 100,
- 'T8' => 100,
- 'T7' => 100,
- 'T6' => 100,
- 'T5' => 100,
- 'T4' => 100,
- 'T3' => 100,
- 'T2' => 100,
- '98' => 100,
- '97' => 100,
- '96' => 100,
- '95' => 100,
- '94' => 100,
- '93' => 100,
- '92' => 100,
- '87' => 100,
- '86' => 100,
- '85' => 100,
- '84' => 100,
- '83' => 100,
- '82' => 100,
- '76' => 100,
- '75' => 100,
- '74' => 100,
- '73' => 100,
- '72' => 100,
- '65' => 100,
- '64' => 100,
- '63' => 100,
- '62' => 100,
- '54' => 100,
- '53' => 100,
- '52' => 100,
- '43' => 100,
- '42' => 100,
- '32' => 100);
- return $this->getPercentage($handValues, $isSuited, $range);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement