1){ $compare = array_slice($compare,0,$sameNum); for($i=0;$i<$sameNum-1;$i++){//对5张牌从大到小排序。 for($j=$i+1;$j<$sameNum;$j++){ if($compare[$i] > $compare[$j]){ $a = $compare[$i]; $compare[$i] = $compare[$j]; $compare[$j]=$a; } } } $max = $compare['0']; if($sameNum == 2){ if($compare['0']>300 && $compare['0']<400){ $max = $compare['1']; } } } $result = array(); //豹子判断 if(count($card) != count(array_unique($card))) { if (count(array_unique($card)) == 1) { $cow = 11; $word = '豹子'; if (array_key_exists(1, $spaceNum)) { if ($spaceNum['1'] > 0) { if ($spaceNum['1'] == 1) { $max = $compare[2]; } if ($spaceNum['1'] == 2) { if ($compare[1] > 300 && $compare[1] < 400) { $max = $compare[2]; } else { $max = $compare[1]; } } } } $result['word'] = $word; $result['cow'] = $cow; $result['max'] = $max; return $result; } } if(count(array_unique($cardType)) == 1){ //皇家同花顺 $example = array(1,12,13); $diffResult=array_diff($card,$example); if(count($diffResult) == 0){ $cow = 13; $word = '皇家同花顺'; if(isset($spaceNum['1'])){ $max = $compare[2]; } $result['word'] = $word; $result['cow'] = $cow; $result['max'] = $max; return $result; } //同花顺 if(count($card) == count(array_unique($card))) { $maxC=$minC=-1; for ($i=0; $i < 3; $i++) { if($card[$i] > $maxC || $maxC == -1){ $maxC = $card[$i]; } if($card[$i] < $minC || $minC == -1){ $minC = $card[$i]; } } if($maxC - $minC == 2){ $cow = 12; $word = '同花顺'; // if(isset($spaceNum['1'])){ // $max = $compare[2]; // } $result['word'] = $word; $result['cow'] = $cow; $result['max'] = $max; return $result; } } } if($card[0]>10)$card[0]=10; if($card[1]>10)$card[1]=10; if($card[2]>10)$card[2]=10; $sumNum = $card[0] + $card[1] + $card[2]; if($sumNum < 10){ $cow = $sumNum; }else{ $cow = $sumNum%10; } switch ($cow){ case 0: $word = '牛牛'; break; case 1: $word = '牛一'; break; case 2: $word = '牛二'; break; case 3: $word = '牛三'; break; case 4: $word = '牛四'; break; case 5: $word = '牛五'; break; case 6: $word = '牛六'; break; case 7: $word = '牛七'; break; case 8: $word = '牛八'; break; case 9: $word = '牛九'; break; } if($cow == 0){ $cow = 10; } $result['word'] = $word; $result['cow'] = $cow; $result['max'] = $max; return $result; } /** * TODO TC比较两张牌大小 * @param int $card1 卡牌 * @param int $card2 卡牌 * @param int $result 结果 * @return int; */ public static function compareCardTc(int $card1, int $card2, int $result): int { $card1Num = CardPosition::interchangeCard($card1); $card2Num = CardPosition::interchangeCard($card2); $card1Color = CardPosition::interchangeColor($card1); $card2Color = CardPosition::interchangeColor($card2); if($card1Num > $card2Num){ return 1; }elseif($card1Num < $card2Num){ return 0; }else{ if($card1Color > $card2Color){ return 0; }elseif($card1Color < $card2Color){ return 1; } } } }