| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616 |
- <?php
- use app\models\SportEvent;
- /***************胜相关的玩法***************** */
- /**
- * 全场胜负(Match Winner) 玩法
- * 主胜(Home)、平局(Draw)、客胜(Away)
- * $amount:下注金额
- * $params['score']:主队-客对
- * $detail:下注时的详情
- */
- function MatchWinner($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 = 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;
- }
|