= 10){ $id = 0; } return $id; } /** * TODO Baccarat开牌条件判断 * @param array $cardInfo 卡牌 * @return bool; */ public static function checkOpenScan(array $cardInfo): bool { $playerCount = (self::interchangeNumber(self::interchangeCard($cardInfo['player_1'])) + self::interchangeNumber(self::interchangeCard($cardInfo['player_2']))) % 10; $bankerCount = (self::interchangeNumber(self::interchangeCard($cardInfo['banker_1'])) + self::interchangeNumber(self::interchangeCard($cardInfo['banker_2']))) % 10; $player3Count = (self::interchangeNumber(self::interchangeCard($cardInfo['player_3']))) % 10; if(empty($cardInfo['player_1']) || empty($cardInfo['player_2']) || empty($cardInfo['banker_1']) || empty($cardInfo['banker_2'])){ return false; } if(($playerCount == 8 || $playerCount == 9 || $bankerCount == 8 || $bankerCount == 9) && empty($cardInfo['player_3']) && empty($cardInfo['banker_3'])){ return true; } if($playerCount >= 6 && $bankerCount >= 6 && empty($cardInfo['player_3']) && empty($cardInfo['banker_3'])){ return true; } if(($playerCount == 6 || $playerCount == 7) && $bankerCount < 6 && empty($cardInfo['player_3']) && $cardInfo['banker_3'] > 0){ return true; } if($playerCount < 6 && $cardInfo['player_3'] > 0 && $bankerCount == 7 && empty($cardInfo['banker_3'])){ return true; } if($playerCount < 6 && $cardInfo['player_3'] > 0 && (($bankerCount == 6 && in_array($player3Count,array(6,7)) && $cardInfo['banker_3'] > 0) || ($bankerCount == 6 && in_array($player3Count,array(1,2,3,4,5,8,9,0)) && empty($cardInfo['banker_3'])))){ return true; } if($playerCount < 6 && $cardInfo['player_3'] > 0 && (($bankerCount == 5 && in_array($player3Count,array(4,5,6,7)) && $cardInfo['banker_3'] > 0) || ($bankerCount == 5 && in_array($player3Count,array(1,2,3,8,9,0)) && empty($cardInfo['banker_3'])))){ return true; } if($playerCount < 6 && $cardInfo['player_3'] > 0 && (($bankerCount == 4 && in_array($player3Count,array(2,3,4,5,6,7)) && $cardInfo['banker_3'] > 0) || ($bankerCount == 4 && in_array($player3Count,array(1,8,9,0)) && empty($cardInfo['banker_3'])))){ return true; } if($playerCount < 6 && $cardInfo['player_3'] > 0 && (($bankerCount == 3 && in_array($player3Count,array(0,1,2,3,4,5,6,7,9)) && $cardInfo['banker_3'] > 0) || ($bankerCount == 3 && in_array($player3Count,array(8)) && empty($cardInfo['banker_3'])))){ return true; } if($playerCount < 6 && $cardInfo['player_3'] > 0 && $bankerCount < 3 && $cardInfo['banker_3'] > 0){ return true; } return false; } }