Пример #1
0
 public function betRequest($game_state)
 {
     $gameState = GameState::fromArray($game_state);
     $myself = $gameState->getMyself();
     $myCards = $myself->getHand();
     $cardAnalizer = new CardAnalizer();
     $decision = new Decisions($gameState);
     if ($gameState->isPreFlop()) {
         if ($cardAnalizer->isHighPair($myCards)) {
             $bet = $myself->stack / 2;
             return (int) $bet;
         }
         if ($cardAnalizer->isPair($myCards)) {
             $callAmount = $this->call($gameState);
             return (int) $callAmount;
         }
         if (!$gameState->isSomeBodyRaised()) {
             $callAmount = $this->call($gameState);
             return (int) $callAmount;
         }
         $c1Rank = CardHelper::mapRankToValues($myCards[0]->rank);
         $c2Rank = CardHelper::mapRankToValues($myCards[1]->rank);
         if ($c1Rank > 10 || $c2Rank > 10) {
             $callAmount = $this->call($gameState);
             return (int) $callAmount;
         }
         return 0;
     } else {
         if ($cardAnalizer->IHavePair($gameState->getAllCards(), $gameState->getCommunityCards())) {
             $minBet = $this->betMinimumRaise($gameState);
             return (int) $minBet;
         }
         $rank = Rainman::getRank($gameState->getAllCards());
         $noService = array(0, 1, 2, 3);
         if (!in_array($rank, $noService)) {
             if (rand(0, 1)) {
                 $minBet = $this->betMinimumRaise($gameState);
                 return (int) $minBet;
             }
             $callAmount = $this->call($gameState);
             return (int) $callAmount;
         }
     }
     return 0;
 }
Пример #2
0
<?php

/**
 * Created by PhpStorm.
 * User: gmanner
 * Date: 02/10/15
 * Time: 11:29
 */
$_POST['action'] = 'bet_request';
$_POST['game_state'] = file_get_contents('sample_gamestate.json');
ob_start();
require_once 'index.php';
$output = ob_get_clean();
echo 'Game bets: ' . $output . ' -> ' . (is_numeric($output) ? 'OK' : 'FAIL') . "\n";
$analizer = new CardAnalizer();
$testCards = json_decode('[
    {
        "rank": "4",
      "suit": "clubs"
    },
    {
        "rank": "5",
      "suit": "hearts"
    },
    {
        "rank": "6",
      "suit": "clubs"
    }
  ]');
var_dump($analizer->isSuited($testCards));