feat: 牛牛新增四条(炸弹)牌型 result=12

- CardPositionNn::JudgeCowCow() 新增四条识别(4张相同点数)
- OpeningNnService::doBet() 新增 result==12 赔率分支(闲1/2/3共12处)
This commit is contained in:
li 2026-02-11 17:32:17 +08:00
parent 94cbf9a093
commit 67a44a3dba
2 changed files with 62 additions and 0 deletions

View File

@ -213,6 +213,10 @@ class OpeningNnService
$winTotal += round($v['amount_player_1_times'] * $userInfo['price_5n'],2);
$winTotalActual += round($v['amount_player_1_times'] * 5,2);
$timesPlayer1 = $userInfo['price_5n'];
}elseif($data['result_player_1'] == 12){
$winTotal += round($v['amount_player_1_times'] * $userInfo['price_bomb'],2);
$winTotalActual += round($v['amount_player_1_times'] * 5,2);
$timesPlayer1 = $userInfo['price_bomb'];
}
$rebatePlayer1 -= $v['amount_player_1_times'];
}
@ -239,6 +243,10 @@ class OpeningNnService
$winTotal -= round($v['amount_player_1_banker_times'] * 5,2);
$rebate += round($v['amount_player_1_banker_times'] * 5);
$rebatePlayer1 += round($v['amount_player_1_banker_times'] * 5);
}elseif($data['result_player_1'] == 12){
$winTotal -= round($v['amount_player_1_banker_times'] * 5,2);
$rebate += round($v['amount_player_1_banker_times'] * 5);
$rebatePlayer1 += round($v['amount_player_1_banker_times'] * 5);
}
}
}elseif($data['win_player_1'] == 0){
@ -258,6 +266,9 @@ class OpeningNnService
}elseif($data['result_banker'] == 11){
$winTotal += round($v['amount_player_1_banker_times'] * $userInfo['price_5n'],2);
$timesPlayer1 = $userInfo['price_5n'];
}elseif($data['result_banker'] == 12){
$winTotal += round($v['amount_player_1_banker_times'] * $userInfo['price_bomb'],2);
$timesPlayer1 = $userInfo['price_bomb'];
}
$rebatePlayer1 += $v['amount_player_1_banker_times'];
}
@ -286,6 +297,11 @@ class OpeningNnService
$winTotalActual -= $v['amount_player_1_times'] * 5;
$rebate += $v['amount_player_1_times'] * 5;
$rebatePlayer1 -= $v['amount_player_1_times'] * 5;
}elseif($data['result_banker'] == 12){
$winTotal -= $v['amount_player_1_times'] * 5;
$winTotalActual -= $v['amount_player_1_times'] * 5;
$rebate += $v['amount_player_1_times'] * 5;
$rebatePlayer1 -= $v['amount_player_1_times'] * 5;
}
}
}
@ -312,6 +328,10 @@ class OpeningNnService
$winTotal += round($v['amount_player_2_times'] * $userInfo['price_5n'],2);
$winTotalActual += round($v['amount_player_2_times'] * 5,2);
$timesPlayer2 = $userInfo['price_5n'];
}elseif($data['result_player_2'] == 12){
$winTotal += round($v['amount_player_2_times'] * $userInfo['price_bomb'],2);
$winTotalActual += round($v['amount_player_2_times'] * 5,2);
$timesPlayer2 = $userInfo['price_bomb'];
}
$rebatePlayer2 -= $v['amount_player_2_times'];
}
@ -338,6 +358,10 @@ class OpeningNnService
$winTotal -= round($v['amount_player_2_banker_times'] * 5,2);
$rebate += round($v['amount_player_2_banker_times'] * 5);
$rebatePlayer2 += round($v['amount_player_2_banker_times'] * 5);
}elseif($data['result_player_2'] == 12){
$winTotal -= round($v['amount_player_2_banker_times'] * 5,2);
$rebate += round($v['amount_player_2_banker_times'] * 5);
$rebatePlayer2 += round($v['amount_player_2_banker_times'] * 5);
}
}
}elseif($data['win_player_2'] == 0){
@ -357,6 +381,9 @@ class OpeningNnService
}elseif($data['result_banker'] == 11){
$winTotal += round($v['amount_player_2_banker_times'] * $userInfo['price_5n'],2);
$timesPlayer2 = $userInfo['price_5n'];
}elseif($data['result_banker'] == 12){
$winTotal += round($v['amount_player_2_banker_times'] * $userInfo['price_bomb'],2);
$timesPlayer2 = $userInfo['price_bomb'];
}
$rebatePlayer2 += $v['amount_player_2_banker_times'];
}
@ -385,6 +412,11 @@ class OpeningNnService
$winTotalActual -= $v['amount_player_2_times'] * 5;
$rebate += $v['amount_player_2_times'] * 5;
$rebatePlayer2 -= $v['amount_player_2_times'] * 5;
}elseif($data['result_banker'] == 12){
$winTotal -= $v['amount_player_2_times'] * 5;
$winTotalActual -= $v['amount_player_2_times'] * 5;
$rebate += $v['amount_player_2_times'] * 5;
$rebatePlayer2 -= $v['amount_player_2_times'] * 5;
}
}
}
@ -411,6 +443,10 @@ class OpeningNnService
$winTotal += round($v['amount_player_3_times'] * $userInfo['price_5n'],2);
$winTotalActual += round($v['amount_player_3_times'] * 5,2);
$timesPlayer3 = $userInfo['price_5n'];
}elseif($data['result_player_3'] == 12){
$winTotal += round($v['amount_player_3_times'] * $userInfo['price_bomb'],2);
$winTotalActual += round($v['amount_player_3_times'] * 5,2);
$timesPlayer3 = $userInfo['price_bomb'];
}
$rebatePlayer3 -= $v['amount_player_3_times'];
}
@ -437,6 +473,10 @@ class OpeningNnService
$winTotal -= round($v['amount_player_3_banker_times'] * 5,2);
$rebate += round($v['amount_player_3_banker_times'] * 5);
$rebatePlayer3 += round($v['amount_player_3_banker_times'] * 5);
}elseif($data['result_player_3'] == 12){
$winTotal -= round($v['amount_player_3_banker_times'] * 5,2);
$rebate += round($v['amount_player_3_banker_times'] * 5);
$rebatePlayer3 += round($v['amount_player_3_banker_times'] * 5);
}
}
@ -457,6 +497,9 @@ class OpeningNnService
}elseif($data['result_banker'] == 11){
$winTotal += round($v['amount_player_3_banker_times'] * $userInfo['price_5n'],2);
$timesPlayer3 = $userInfo['price_5n'];
}elseif($data['result_banker'] == 12){
$winTotal += round($v['amount_player_3_banker_times'] * $userInfo['price_bomb'],2);
$timesPlayer3 = $userInfo['price_bomb'];
}
$rebatePlayer3 += $v['amount_player_3_banker_times'];
}
@ -485,6 +528,11 @@ class OpeningNnService
$winTotalActual -= $v['amount_player_3_times'] * 5;
$rebate += $v['amount_player_3_times'] * 5;
$rebatePlayer3 -= $v['amount_player_3_times'] * 5;
}elseif($data['result_banker'] == 12){
$winTotal -= $v['amount_player_3_times'] * 5;
$winTotalActual -= $v['amount_player_3_times'] * 5;
$rebate += $v['amount_player_3_times'] * 5;
$rebatePlayer3 -= $v['amount_player_3_times'] * 5;
}
}
}

View File

@ -497,6 +497,20 @@ class CardPositionNn
$result['max'] = $max;
return $result;
}
//判断四条炸弹4张相同点数
$cardNums = [];
for($i=0;$i<5;$i++){
$cardNums[] = $card[$i];
}
$counts = array_count_values($cardNums);
if(max($counts) >= 4){
$cow = 12;
$word = '四条';
$result['word'] = $word;
$result['cow'] = $cow;
$result['max'] = $max;
return $result;
}
for($i=0;$i<4;$i++){//对5张牌从大到小排序。
for($j=$i+1;$j<5;$j++){
if($card[$i] < $card[$j]){