$away && $value == 'Home') { $is_win = 1; } elseif ($away > $home && $value == 'Away') { $is_win = 1; } elseif ($home == $away && $value == 'Draw') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Home/Away(主胜/客胜) 玩法(平局不输不赢) * 主胜(Home)、平局(Draw)、客胜(Away) * $amount:下注金额 * $params['score']:主队-客对 * $detail:下注时的详情 */ function HomeAwayWinner($amount, $detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $value == 'Home') { $is_win = 1; } elseif ($away > $home && $value == 'Away') { $is_win = 1; } elseif ($home == $away && $value == 'Draw') { $is_win = 2; } return getResult($is_win, $amount, $odd); } /** * Second Half Winner(下半场胜负) 玩法 * 主胜(Home)、平局(Draw)、客胜(Away) * $amount:下注金额 * $half_score:上半场比分 * $score:主队-客对 * $detail:下注时的详情 */ function SecondHalfWinner($amount, $detail, $params) { $score = getHalfScore($params['score'], $params['half_score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $value == 'Home') { $is_win = 1; } elseif ($away > $home && $value == 'Away') { $is_win = 1; } elseif ($home == $away && $value == 'Draw') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Win to Nil - Home(主队零封获胜:主队赢,客队的进球数为 0) 玩法 * -yes: 主队零封获胜就中奖 * -no: 非主队零封获胜就中奖 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function WinToNilHomeWinner($amount, $detail, $params) { } /** * First Half Winner(上半场胜负) 玩法 * 主胜(Home)、平局(Draw)、客胜(Away) * $amount:下注金额 * $half_score:上半场比分 * $detail:下注时的详情 */ function FirstHalfWinner($amount, $detail, $params) { $score = getScore($params['half_score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $value == 'Home') { $is_win = 1; } elseif ($away > $home && $value == 'Away') { $is_win = 1; } elseif ($home == $away && $value == 'Draw') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Win Both Halves(上下半场均获胜) 玩法 * -Home: 主队上下半场都赢就中奖 * -Away: 客队上下半场都赢就中奖 * $amount:下注金额 * $params['half_score']:上半场比分 * $params['score']:主队-客对 * $detail:下注时的详情 */ function WinBothHalvesWinner($amount, $detail, $params) { //上半场得分 $score = getScore($params['half_score']); $home_first_half = $score['home']; $away_first_half = $score['away']; //下半场得分 $score = getHalfScore($params['score'], $params['half_score']); $home_second_half = $score['home']; $away_second_half = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home_first_half > $away_first_half && $home_second_half > $away_second_half && $value == 'Home') { $is_win = 1; //主胜 } elseif ($home_first_half < $away_first_half && $home_second_half < $away_second_half && $value == 'Away') { $is_win = 1; //客胜 } return getResult($is_win, $amount, $odd); } /** * Double Chance(双选胜平负) 玩法 * -Home or Draw:主队赢或打平就中奖 * -Away or Draw:客队赢或打平就中奖 * -Home or Away:只要分出胜负你就中奖 * $amount:下注金额 * $params['score']:主队-客对 * $detail:下注时的详情 */ function DoubleChance($amount, $detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home >= $away && ($value == 'Home or Draw' || $value == 'Home/Draw')) { $is_win = 1; } elseif ($away >= $home && ($value == 'Away or Draw' || $value == 'Away/Draw')) { $is_win = 1; } elseif ($home != $away && ($value == 'Home or Away' || $value == 'Home/Away')) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Double Chance - First Half(上半场双选胜平负) 玩法 * -Home or Draw:主队赢或打平就中奖 * -Away or Draw:客队赢或打平就中奖 * -Home or Away:只要分出胜负你就中奖 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function DoubleChanceFirstHalf($amount, $detail, $params) { $score = getScore($params['half_score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home >= $away && ($value == 'Home or Draw' || $value == 'Home/Draw')) { $is_win = 1; } elseif ($away >= $home && ($value == 'Away or Draw' || $value == 'Away/Draw')) { $is_win = 1; } elseif ($home != $away && ($value == 'Home or Away' || $value == 'Home/Away')) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /***************进球相关的玩法***************** */ /** * Both Teams Score(双方均有进球) 玩法 * -Yes: 预测两支球队在比赛中都能至少攻入 1 球 * -No: 预测至少有一支球队进球数为 0(或者两队都没有进球) * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function BothTeamsScore($amount, $detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; return getBothTeamsScore($amount, $home, $away,$detail); } /** * Team To Score First(首支进球球队) 玩法 * -Home: 预测主队打入全场第一个进球 * -Away: 预测客队打入全场第一个进球 * -Draw: 预测两队打平 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function TeamToScoreFirst($amount, $detail, $params) { return teamToScore($amount, $detail, $params['data_id'], $params['home_team_id'], $params['guest_team_id'], 'first'); } /** * Team To Score Last(首支进球球队) 玩法 * -Home: 预测主队打入全场第一个进球 * -Away: 预测客队打入全场第一个进球 * -Draw: 预测两队打平 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function TeamToScoreLast($amount, $detail, $params) { return teamToScore($amount, $detail, $params['data_id'], $params['home_team_id'], $params['guest_team_id'], 'last'); } function teamToScore($amount, $detail, $data_id, $home_team_id, $away_team_id, $type = 'first') { $order = $type == 'first' ? 'asc' : 'desc'; $team_id = SportEvent::where('data_id', $data_id)->where('type', 'Goal')->order('time_elapsed', $order)->value('team_id'); $value_and_odd = getValueAndOdd($detail); $value = $value_and_odd['value']; $odd = $value_and_odd['odd']; $is_win = 0; if ($home_team_id == $team_id && strtolower($value) == 'home' ) { $is_win = 1; } elseif ($away_team_id == $team_id && strtolower($value) == 'away' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Total - Home(主队总进球数) 玩法 * -Over 1.5: 预测主队至少打进 2 个 或更多球 * -Under 1.5: 预测主队进球数为 0 个 或 1 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function TotalHome($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; return totalHomeOrAway($amount, $home,$detail); } /** * Total - Away(客队总进球数) 玩法 * -Over 1.5: 预测客队至少打进 2 个 或更多球 * -Under 1.5: 预测客队进球数为 0 个 或 1 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function TotalAway($amount, $detail, $params) { $score = getScore($params['score']); $away = $score['away']; return totalHomeOrAway($amount, $away,$detail); } /** * Both Teams Score - First Half(上半场双方均进球) 玩法 * -Yes: 预测上半场结束时,两队都至少各进一球 * -No: 预测上半场结束时,至少有一支球队没进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function BothTeamsScoreFirstHalf($amount,$detail, $params) { $score = getScore($params['half_score']); $home = $score['home']; $away = $score['away']; return getBothTeamsScore($amount, $home, $away, $detail); } /** * Both Teams To Score - Second Half(下半场双方均进球) 玩法 * -Yes: 预测下半场结束时,两队都至少各进一球 * -No: 预测下半场结束时,至少有一支球队没进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function BothTeamsScoreSecondHalf($amount,$detail, $params) { $half_score = getHalfScore($params['score'], $params['half_score']); $half_home = $half_score['home']; $half_away = $half_score['away']; return getBothTeamsScore($amount, $half_home, $half_away, $detail); } /** * Goals Over/Under(全场大小球) 玩法 * -Over 1.5: 预测全场总进球数大于1.5 * -Under 1.5: 预测全场进球数小于1.5 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function GoalsOverUnder($amount,$detail, $params) { $score = getScore($params['score']); $score = $score['home'] + $score['away']; return totalHomeOrAway($amount, $score, $detail); } /** * Goals Over/Under First Half(上半场大小球) 玩法 * -Over 1.5: 预测上半场总进球数大于1.5 * -Under 1.5: 预测上半场进球数小于1.5 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function GoalsOverUnderFirstHalf($amount,$detail, $params) { $score = getScore($params['half_score']); $score = $score['home'] + $score['away']; return totalHomeOrAway($amount, $score, $detail); } /** * Goals Over/Under - Second Half(下半场大小球) 玩法 * -Over 1.5: 预测下半场总进球数大于1.5 * -Under 1.5: 预测下半场进球数小于1.5 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function GoalsOverUnderSecondHalf($amount,$detail, $params) { $score = getHalfScore($params['score'], $params['half_score']); $score = $score['home'] + $score['away']; return totalHomeOrAway($amount, $score, $detail); } //双方均进球的处理方法 function getBothTeamsScore($amount, $home, $away,$detail) { $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($home > 0 && $away > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif (($away == 0 || $home == 0) && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Odd/Even(总进球数奇偶) 玩法 * -Yes: 预测上半场结束时,两队都至少各进一球 * -No: 预测上半场结束时,至少有一支球队没进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function OddEven($amount,$detail, $params) { $score = getScore($params['score']); $goals = $score['home'] + $score['away']; return getOddEven($amount, $goals, $detail); } /** * Odd/Even - First Half(上半场进球奇偶) 玩法 * -Odd: 进球数除以 2 余 1 * -Even: 进球数除以 2 余 0 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function OddEvenFirstHalf($amount,$detail, $params) { $score = getScore($params['half_score']); $half_goals = $score['home'] + $score['away']; return getOddEven($amount, $half_goals, $detail); } /** * Odd/Even - Second Half(下半场进球奇偶) 玩法 * -Odd: 进球数除以 2 余 1 * -Even: 进球数除以 2 余 0 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function OddEvenSecondHalf($amount,$detail, $params) { $score = getHalfScore($params['score'], $params['half_score']); $half_goals = $score['home'] + $score['away']; return getOddEven($amount, $half_goals, $detail); } /** * Home Odd/Even(主队进球奇偶) 玩法 * -Odd: 进球数除以 2 余 1 * -Even: 进球数除以 2 余 0 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeOddEven($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; return getOddEven($amount, $home, $detail); } /** * Away Odd/Even(客队进球奇偶) 玩法 * -Odd: 进球数除以 2 余 1 * -Even: 进球数除以 2 余 0 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayOddEven($amount,$detail, $params) { $score = getScore($params['score']); $away = $score['away']; return getOddEven($amount, $away, $detail); } //进球数奇偶的处理方法 function getOddEven($amount, $goals,$detail) { $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($goals % 2 == 1 && strtolower($value) == 'odd' ) { $is_win = 1; } elseif ($goals % 2 == 0 && strtolower($value) == 'even' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Home Team Total Goals(1st Half)(主队上半场总进球) 玩法 * -Over 1.5: 预测主队上半场至少打进 2 个 或更多球 * -Under 1.5: 预测主队上半场进球数为 0 个 或 1 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamTotalGoals($amount,$detail, $params) { $score = getScore($params['half_score']); $home = $score['home']; return totalHomeOrAway($amount, $home,$detail); } /** * Away Team Total Goals(1st Half)(客队上半场总进球) 玩法 * -Over 1.5: 预测客队上半场至少打进 2 个 或更多球 * -Under 1.5: 预测客队上半场进球数为 0 个 或 1 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayTeamTotalGoals($amount,$detail, $params) { $score = getScore($params['half_score']); $away = $score['away']; return totalHomeOrAway($amount, $away,$detail); } /** * Home Team Total Goals(2nd Half)(主队下半场总进球) 玩法 * -Over 1.5: 预测主队下半场至少打进 2 个 或更多球 * -Under 1.5: 预测主队下半场进球数为 0 个 或 1 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamTotalGoals2($amount,$detail, $params) { $score = getHalfScore($params['score'], $params['half_score']); $home_half = $score['home']; return totalHomeOrAway($amount, $home_half,$detail); } /** * Away Team Total Goals(2nd Half)(客队下半场总进球) 玩法 * -Over 1.5: 预测客队下半场至少打进 2 个 或更多球 * -Under 1.5: 预测客队下半场进球数为 0 个 或 1 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayTeamTotalGoals2($amount,$detail, $params) { $score = getHalfScore($params['score'], $params['half_score']); $away_half = $score['away']; return totalHomeOrAway($amount, $away_half,$detail); } //$score:主队/客队的进球数 function totalHomeOrAway($amount, $score,$detail) { $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $value = explode(' ', $value); $type = $value[0]; $goal = $value[1]; $is_win = 0; if ($score > $goal && strtolower($type) == 'over' ) { $is_win = 1; } elseif ($score < $goal && strtolower($type) == 'under' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Total Goals/Both Teams To Score(总进球+双方进球) 玩法 * -o/yes 2.5: 大于 2.5 且 双方进球 * -o/no 2.5: 大于 2.5 且 双方不同时进球(有一方为0) * -u/yes 2.5: 小于 2.5 且 双方进球 * -u/no 2.5: 小于 2.5 且 双方不同时进球(且至少有一队没进球) * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function TotalGoalsBothTeamsToScore($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $score = $home + $away; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $value = explode(' ', $value); $type = $value[0]; $goal = $value[1]; $is_win = 0; if ($score > $goal && $home > 0 && $away > 0 && strtolower($type) == 'o/yes' ) { $is_win = 1; } elseif ($score > $goal && ($home == 0 || $away == 0) && strtolower($type) == 'o/no' ) { $is_win = 1; } elseif ($score < $goal && $home > 0 && $away > 0 && strtolower($type) == 'u/yes' ) { $is_win = 1; } elseif ($score < $goal && ($home == 0 || $away == 0) && strtolower($type) == 'u/no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * RTG_H1(上半场进球数(简写)) 玩法 * -Draw/Over 1.5: 平局 + 大 1.5 上半场打平 且 总进球≥2 * -Away/Over 1.5: 客胜 + 大 1.5 上半场客队赢 且 总进球≥2 * -Home/Over 1.5 主胜 + 大 1.5 上半场主队赢 且 总进球≥2 * -Home/Under 1.5 主胜 + 小 1.5 上半场主队赢 且 总进球≤1 * -Draw/Under 1.5 平局 + 小 1.5 上半场打平 且 总进球≤1 * -Away/Under 1.5 客胜 + 小 1.5 上半场客队赢 且 总进球≤1 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function RTGH1($amount,$detail, $params) { $score = getScore($params['half_score']); $home = $score['home']; $away = $score['away']; $score = $home + $away; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $value = explode(' ', $value); $type = $value[0]; $goal = $value[1]; $is_win = 0; if ($score > $goal && $home == $away && strtolower($type) == 'draw/over' ) { $is_win = 1; } elseif ($score > $goal && $home < $away && strtolower($type) == 'away/over' ) { $is_win = 1; } elseif ($score > $goal && $home > $away && strtolower($type) == 'home/over' ) { $is_win = 1; } elseif ($score < $goal && $home > $away && strtolower($type) == 'home/under' ) { $is_win = 1; } elseif ($score < $goal && $home == $away && strtolower($type) == 'draw/under' ) { $is_win = 1; } elseif ($score < $goal && $home < $away && strtolower($type) == 'away/under' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Home team will score in both halves(主队上下半场均进球) 玩法 * -yes: 主队在上半场至少进一球,且在下半场也至少进一球。 * -no: 主队在其中一个半场没进球,或者两个半场都没进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamWillScoreInBothHalves($amount,$detail, $params) { $score = getScore($params['half_score']); $home = $score['home']; $half_score = getHalfScore($params['score'], $params['half_score']); $home_half = $half_score['home']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($home > 0 && $home_half > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif (($home == 0 || $home_half == 0) && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Away team will score in both halves(客队上下半场均进球) 玩法 * -yes: 客队在上半场至少进一球,且在下半场也至少进一球。 * -no: 客队在其中一个半场没进球,或者两个半场都没进球。 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayTeamWillScoreInBothHalves($amount,$detail, $params) { $score = getScore($params['half_score']); $away = $score['away']; $half_score = getHalfScore($params['score'], $params['half_score']); $away_half = $half_score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($away > 0 && $away_half > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif (($away == 0 || $away_half == 0) && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * How many goals will Home Team score?(主队进球数) 玩法 * -No goal: 主队全场 0 进球 * -1: 主队恰好进 1 个球 * -2: 主队恰好进 2 个球 * -3 or more: 主队射门 3 个或更多球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HowManyGoalsWillHomeTeamScore($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($home == 0 && strtolower($value) == 'no goal' ) { $is_win = 1; } elseif (is_numeric($value) && $home == $value ) { $is_win = 1; } elseif (strpos($value, 'or more') !== false && $home >= intval($value)) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * How many goals will Away Team score?(客队进球数) 玩法 * -No goal: 客队全场 0 进球 * -1: 客队恰好进 1 个球 * -2: 客队恰好进 2 个球 * -3 or more: 客队打进 3 个或更多球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HowManyGoalsWillAwayTeamScore($amount,$detail, $params) { $score = getScore($params['score']); $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($away == 0 && strtolower($value) == 'no goal' ) { $is_win = 1; } elseif (is_numeric($value) && $away == $value ) { $is_win = 1; } elseif (strpos($value, 'or more') !== false && $away >= intval($value)) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Match Goals(全场进球,按盘口分类) 玩法 * -value: over/under * -handicap: 1.5 2.5 .. * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function MatchGoals($amount,$detail, $params) { $score = getScore($params['score']); $score = $score['home'] + $score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $handicap = $value_and_odd['handicap']; $is_win = 0; if ($score > $handicap && strtolower($value) == 'over' ) { $is_win = 1; } elseif ($score < $handicap && strtolower($value) == 'under' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Home Team Goals(主队进球,按盘口分类) 玩法 * -value: over/under * -handicap: 1.5 2.5 .. * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamGoals($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $handicap = $value_and_odd['handicap']; $is_win = 0; if ($home > $handicap && strtolower($value) == 'over' ) { $is_win = 1; } elseif ($home < $handicap && strtolower($value) == 'under' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Away Team Goals(客队进球,按盘口分类) 玩法 * -value: over/under * -handicap: 1.5 2.5 .. * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayTeamGoals($amount,$detail, $params) { $score = getScore($params['score']); $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $handicap = $value_and_odd['handicap']; $is_win = 0; if ($away > $handicap && strtolower($value) == 'over' ) { $is_win = 1; } elseif ($away < $handicap && strtolower($value) == 'under' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Over/Under Line(大小球盘口) 玩法 * -value: over/under * -handicap: 1.5 2.5 .. * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function OverUnderLine($amount,$detail, $params) { $score = getScore($params['score']); $score = $score['home'] + $score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $handicap = $value_and_odd['handicap']; $is_win = 0; if ($score > $handicap && strtolower($value) == 'over' ) { $is_win = 1; } elseif ($score < $handicap && strtolower($value) == 'under' ) { $is_win = 1; } elseif ($score == $handicap) { //不输不赢,需要退款 $is_win = 2; } return getResult($is_win, $amount, $odd); } /** * Home Team Score a Goal (2nd Half)(主队下半场进球) 玩法 * -Yes: 主队在下半场至少打进一球 * -No: 主队在下半场一个球都不进 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamScoreAGoal2($amount,$detail, $params) { $half_score = getHalfScore($params['score'], $params['half_score']); $home_half = $half_score['home']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($home_half > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif ($home_half == 0 && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Away Team Score a Goal (2nd Half)(客队下半场进球) 玩法 * -Yes: 客队在下半场至少打进一球 * -No: 客队在下半场一个球都不进 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayTeamScoreAGoal2($amount,$detail, $params) { $half_score = getHalfScore($params['score'], $params['half_score']); $away_half = $half_score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($away_half > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif ($away_half == 0 && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Both Teams to Score(双方进球) 玩法 * -yes: 主队有进球,且客队也有进球 * -no: 至少有一支球队没进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function BothTeamsToScore($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($home > 0 && $away > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif (($home == 0 || $away == 0) && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Both Teams To Score (2nd Half)(下半场双方进球) 玩法 * -yes: 下半场主队有进球,且下半场客队也有进球 * -no: 下半场至少有一支球队没进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function BothTeamsToScore2($amount,$detail, $params) { $half_score = getHalfScore($params['score'], $params['half_score']); $home_half = $half_score['home']; $away_half = $half_score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if ($home_half > 0 && $away_half > 0 && strtolower($value) == 'yes' ) { $is_win = 1; } elseif (($home_half == 0 || $away_half == 0) && strtolower($value) == 'no' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Goals Odd/Even (进球数奇偶) 玩法 */ function GoalsOddEven($amount,$detail, $params) { $score = getScore($params['score']); $goals = $score['home'] + $score['away']; return getOddEven($amount, $goals, $detail); } /** * Home Team Exact Goals Number(主队精确进球数) 玩法 * -0: 预测主队全场比赛一个球都进不了 * -1: 预测主队刚好只进 1 个球。 * -more 2: 预测主队进球数达到或超过 2 个 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamExactGoalsNumber($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if (is_numeric($value) && $home == $value ) { $is_win = 1; } elseif (strpos($value, 'more') !== false && $home >= intval($value)) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Away Team Exact Goals Number(客队精确进球数) 玩法 * -0: 预测客队全场比赛一个球都进不了 * -1: 预测客队刚好只进 1 个球。 * -more 2: 预测客队进球数达到或超过 2 个。 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function AwayTeamExactGoalsNumber($amount,$detail, $params) { $score = getScore($params['score']); $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $is_win = 0; if (is_numeric($value) && $away == $value ) { $is_win = 1; } elseif (strpos($value, 'more') !== false && $away >= intval($value)) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Fulltime Result(全场赛果) 玩法 * -Home: 主队赢球 * -Away: 客队赢球 * -Draw: 双方打平 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function FulltimeResult($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $value == 'home') { $is_win = 1; } elseif ($away > $home && $value == 'away') { $is_win = 1; } elseif ($home == $away && $value == 'draw') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Results/Both Teams Score(赛果+双方进球) 玩法 * -Home/Yes: 主队赢球,且客队也进了球 * -Away/Yes: 客队赢球,且主队也进了球 * -Draw/Yes: 双方打平,且都有进球 * -Home/No: 主队赢球,且零封了客队 * -Away/No: 客队赢球,且零封了主队 * -Draw/No: 双方打平,且都没有进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function ResultsBothTeamsScore($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $away > 0 && ($value == 'home or yes' || $value == 'home/yes')) { $is_win = 1; } elseif ($away > $home && $home > 0 && ($value == 'away or yes' || $value == 'away/yes')) { $is_win = 1; } elseif ($home == $away && $home > 0 && $away >0 && ($value == 'draw or yes' || $value == 'draw/yes')) { $is_win = 1; } elseif ($home > $away && $away == 0 && ($value == 'home or no' || $value == 'home/no')) { $is_win = 1; } elseif ($away > $home && $home == 0 && ($value == 'away or no' || $value == 'away/no')) { $is_win = 1; } elseif ($home == $away && $home == 0 && $away == 0 && ($value == 'draw or no' || $value == 'draw/no')) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Result/Total Goals(赛果+总进球数) 玩法 * -Draw/Over 1.5: 平局 + 大 1.5 总进球数打平 且 总进球≥2 * -Away/Over 1.5: 客胜 + 大 1.5 总进球数赢 且 总进球≥2 * -Home/Over 1.5 主胜 + 大 1.5 总进球数赢 且 总进球≥2 * -Home/Under 1.5 主胜 + 小 1.5 总进球数赢 且 总进球≤1 * -Draw/Under 1.5 平局 + 小 1.5 总进球数打平 且 总进球≤1 * -Away/Under 1.5 客胜 + 小 1.5 总进球数赢 且 总进球≤1 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function ResultTotalGoals($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $score = $home + $away; $value_and_odd = getValueAndOdd($detail); $odd = $value_and_odd['odd']; $value = $value_and_odd['value']; $value = explode(' ', $value); $type = $value[0]; $goal = $value[1]; $is_win = 0; if ($score > $goal && $home == $away && strtolower($type) == 'draw/over' ) { $is_win = 1; } elseif ($score > $goal && $home < $away && strtolower($type) == 'away/over' ) { $is_win = 1; } elseif ($score > $goal && $home > $away && strtolower($type) == 'home/over' ) { $is_win = 1; } elseif ($score < $goal && $home > $away && strtolower($type) == 'home/under' ) { $is_win = 1; } elseif ($score < $goal && $home == $away && strtolower($type) == 'draw/under' ) { $is_win = 1; } elseif ($score < $goal && $home < $away && strtolower($type) == 'away/under' ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Result / Both Teams To Score(赛果+双方进球) 玩法 * -Home/Yes: 主队赢球,且客队也进了球 * -Away/Yes: 客队赢球,且主队也进了球 * -Draw/Yes: 双方打平,且都有进球 * -Home/No: 主队赢球,且零封了客队 * -Away/No: 客队赢球,且零封了主队 * -Draw/No: 双方打平,且都没有进球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function ResultBothTeamsToScore($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $away > 0 && ($value == 'home or yes' || $value == 'home/yes')) { $is_win = 1; } elseif ($away > $home && $home > 0 && ($value == 'away or yes' || $value == 'away/yes')) { $is_win = 1; } elseif ($home == $away && $home > 0 && $away >0 && ($value == 'draw or yes' || $value == 'draw/yes')) { $is_win = 1; } elseif ($home > $away && $away == 0 && ($value == 'home or no' || $value == 'home/no')) { $is_win = 1; } elseif ($away > $home && $home == 0 && ($value == 'away or no' || $value == 'away/no')) { $is_win = 1; } elseif ($home == $away && $home == 0 && $away == 0 && ($value == 'draw or no' || $value == 'draw/no')) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Highest Scoring Half(进球更多的半场) 玩法 * -Draw: 两个半场的进球数完全相等 * -1st Half: 上半场产生的总进球数 > 下半场产生的总进球数 * -2nd Half: 下半场产生的总进球数 > 上半场产生的总进球数 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HighestScoringHalf($amount,$detail, $params) { $score = getScore($params['half_score']); $first_half = $score['home'] + $score['away']; $score = getHalfScore($params['score'], $params['half_score']); $second_half = $score['home'] + $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($first_half > $second_half && $value == '1st Half') { $is_win = 1; } elseif ($first_half < $second_half && $value == '2nd Half') { $is_win = 1; } elseif ($first_half == $second_half && $value == 'draw') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Final Score(最终比分) 玩法 * -value: 1-2 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function FinalScore($amount,$detail, $params) { $score = $params['score']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($score == $value ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Exact Score(精确比分) 玩法 * -value: 1:2 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function ExactScore($amount,$detail, $params) { $score = $params['score']; $value_and_odd = getValueAndOdd($detail); $value = str_replace(":", "-", $value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($score == $value ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Correct Score - First Half(上半场精确比分) 玩法 * -value: 1:2 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function CorrectScoreFirstHalf($amount,$detail, $params) { $half_score = $params['half_score']; $value_and_odd = getValueAndOdd($detail); $value = str_replace(":", "-", $value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($half_score == $value ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Correct Score - Second Half(下半场精确比分) 玩法 * -value: 1:2 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function CorrectScoreSecondHalf($amount,$detail, $params) { $half_score = getHalfScore($params['score'], $params['half_score']); $half_score = $half_score['home'] . '-' . $half_score['away']; $value_and_odd = getValueAndOdd($detail); $value = str_replace(":", "-", $value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($half_score == $value ) { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * To Win Either Half(赢得任意半场) 玩法 * -Home: 主队在上/下半场的进球数 > 客队在上/下半场的进球数 * -Away: 客队在上/下半场的进球数 > 主队在上/下半场的进球数 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function ToWinEitherHalf($amount,$detail, $params) { //上半场 $score = getScore($params['half_score']); $home_first = $score['home']; $away_first = $score['away']; //下半场 $score = getHalfScore($params['score'], $params['half_score']); $home_half = $score['home']; $away_half = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if (($home_first > $away_first || $home_half > $away_half) && $value == 'home') { $is_win = 1; } if (($home_first < $away_first || $home_half < $away_half) && $value == 'away') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * To Win 2nd Half(赢下半场) 玩法 * -Home: 主队在下半场的进球数 > 客队在下半场的进球数 * -Draw: 双方在下半场的进球数相等 * -Away: 客队在下半场的进球数 > 主队在下半场的进球数 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function ToWin2ndHalf($amount,$detail, $params) { $score = getHalfScore($params['score'], $params['half_score']); $home_half = $score['home']; $away_half = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home_half > $away_half && $value == 'home') { $is_win = 1; } elseif ($home_half == $away_half && $value == 'draw') { $is_win = 1; } elseif ($away_half > $home_half && $value == 'away') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Win To Nil(零封获胜) 玩法 * -Home: 主队赢球,客队为0 * -Away: 客队赢球,主队为0 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function WinToNil($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home > 0 && $away == 0 && $value == 'home') { $is_win = 1; } elseif ($away > 0 && $home == 0 && $value == 'away') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Home Team Clean Sheet(主队零封) 玩法 * -Yes: 客队一个球都进不了 * -No: 客队至少打进 1 个球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HomeTeamCleanSheet($amount,$detail, $params) { $score = getScore($params['score']); $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($away == 0 && $value == 'yes') { $is_win = 1; } elseif ($away > 0 && $value == 'no') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * HT/FT Double(半场+全场双猜) 玩法 * -Home/Draw: 上半场主队领先,全场被追平。 * -Home/Away: 上半场主队领先,全场客队领先。 * -Home/Home: 上半场主队领先,全场主队领先。 * -Away/Draw: 上半场客队领先,全场被追平。 * -Away/Home: 上半场客队领先,全场主队领先。 * -Away/Away: 上半场客队领先,全场客队领先。 * -Draw/Home: 上半场平局,全场主队领先。 * -Draw/Away: 上半场平局,全场客队领先。 * -Draw/Draw: 上半场平局,全场平局。 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function HTFTDouble($amount,$detail, $params) { $score = getScore($params['half_score']); $first_home = $score['home']; $first_away = $score['away']; $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($first_home > $first_away && $home == $away && $value == 'home/draw') { $is_win = 1; } elseif ($first_home > $first_away && $home < $away && $value == 'home/away') { $is_win = 1; } elseif ($first_home > $first_away && $home > $away && $value == 'home/home') { $is_win = 1; } elseif ($first_home < $first_away && $home == $away && $value == 'away/draw') { $is_win = 1; } elseif ($first_home < $first_away && $home < $away && $value == 'away/away') { $is_win = 1; } elseif ($first_home < $first_away && $home > $away && $value == 'away/home') { $is_win = 1; } elseif ($first_home == $first_away && $home == $away && $value == 'draw/draw') { $is_win = 1; } elseif ($first_home == $first_away && $home < $away && $value == 'draw/away') { $is_win = 1; } elseif ($first_home == $first_away && $home > $away && $value == 'draw/home') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Clean Sheet - Home(主队零封) 玩法 * -Yes: 客队一个球都进不了 * -No: 客队至少打进 1 个球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function CleanSheetHome($amount,$detail, $params) { $score = getScore($params['score']); $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($away == 0 && $value == 'yes') { $is_win = 1; } elseif ($away > 0 && $value == 'no') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Clean Sheet - Away(客队零封) 玩法 * -Yes: 主队一个球都进不了 * -No: 主队至少打进 1 个球 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function CleanSheetAway($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home == 0 && $value == 'yes') { $is_win = 1; } elseif ($home > 0 && $value == 'no') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Win to Nil - Home(主队零封获胜) 玩法 * -Yes: 主队必须赢,客队全场一个球都没进 * -No: 客队进球了,或比赛打平,或客队赢了 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function WinToNilHome($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($home > $away && $away == 0 && $value == 'yes') { $is_win = 1; } elseif (($away > 0 || $away >= $home) && $value == 'no') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * Win to Nil - Away(客队零封获胜) 玩法 * -Yes: 客队必须赢,主队全场进球数为 0 * -No: 主队进球了,或比赛打平,或主队赢了 * $amount:下注金额 * $score:主队-客对 * $detail:下注时的详情 */ function WinToNilAway($amount,$detail, $params) { $score = getScore($params['score']); $home = $score['home']; $away = $score['away']; $value_and_odd = getValueAndOdd($detail); $value = strtolower($value_and_odd['value']); $odd = $value_and_odd['odd']; $is_win = 0; if ($away > $home && $home == 0 && $value == 'yes') { $is_win = 1; } elseif (($home > 0 || $home >= $away) && $value == 'no') { $is_win = 1; } return getResult($is_win, $amount, $odd); } /** * 获取主客队得分 */ function getScore($score) { $score = explode('-', $score); return [ 'home' => (int)$score[0], 'away' => (int)$score[1], ]; } /** * 获取下半场主客队得分 */ function getHalfScore($score, $half_score) { $score = explode('-', $score); $half_score = explode('-', $half_score); return [ 'home' => (int)$score[0] - (int)$half_score[0], 'away' => (int)$score[1] - (int)$half_score[1], ]; } /** * 获取比分 * $type : 1 主队总进球数,2 客队总进球数, 3 */ function getValueAndOdd($detail) { $odds = $detail['odds'][0]; $values = $odds['values'][0]; return [ 'value' => $values['value'], 'odd' => $values['odd'], 'handicap' => isset($values['handicap']) ? $values['handicap'] : 0, ]; } function getResult($is_win, $amount, $odds) { //is_win:是否中奖:0没中奖1中奖2和局3平手半 $result = [ 'is_win' => 0, //是否中奖:0没中奖1中奖2和局3平手半 'win_amount' => 0, //中奖金额 'profit_and_loss' => -$amount, //盈亏金额 'settlement_status' => 1, //结算状态:1未结算2已结算3已取消 ]; if ($is_win == 1) { $result['is_win'] = 1; $result['win_amount'] = bcmul($amount, $odds, 2); $result['profit_and_loss'] = $result['win_amount'] - $amount; } if ($is_win == 2) { $result['is_win'] = 2; $result['win_amount'] = 0; $result['profit_and_loss'] = 0; } $result['settlement_status'] = 2; return $result; }