Pro/public/static/horizontal/js/chip.js
2026-02-25 01:50:31 +08:00

404 lines
15 KiB
JavaScript

var chipnum=0;
var successBet="";
var roleBet="";
var playerbet=0,tigerbet=0,bankerbet=0,dragonbet=0,tiebet=0,ppairbet=0,bpairbet=0;
$(function(){
// 选择筹码
$(".games .main .chip-box .chip").click(function(){
chipnum=parseInt($(this).attr("chip-data"));
$(this).addClass("active").siblings().removeClass("active")
})
// 选择下注区
$(".games .chip-table .list .item").click(function(){
chiptype=$(this).attr("bet-data")
var _this=$("#chiptab").find("."+chiptype);
if(chipnum!=0){
// 计算各个区块的下注
if(successBet!=""){
var banker_amount=successBet.banker_amount,
banker_pair_amount=successBet.banker_pair_amount,
player_amount=successBet.player_amount,
player_pair_amount=successBet.player_pair_amount,
tie_amount=successBet.tie_amount;
var allensureBet=playerbet+tigerbet+bankerbet+
dragonbet+tiebet+ppairbet+bpairbet+banker_amount+
banker_pair_amount+player_amount+player_pair_amount+tie_amount;
}else{
var allensureBet=playerbet+tigerbet+bankerbet+dragonbet+tiebet+ppairbet+bpairbet;
var banker_amount=0,
banker_pair_amount=0,
player_amount=0,
player_pair_amount=0,
tie_amount=0;
}
var usermoney=$("#money").attr("data-money");
// $("#money").html((usermoney-allensureBet).toFixed(2))
if(usermoney<allensureBet){
alert_box(lang.to_bet_fail_1);
return false;
}
if(count==false){
alert_box(lang.game_not_start);
}else if(count > 5){
var downbet=0;
switch(true){
// 闲
case chiptype=="player":
if(playerbet+chipnum+player_amount<limit_low){
alert_box(lang.personal_limit_player_low+limit_low);
}else if(playerbet+chipnum+player_amount>limit_high){
alert_box(lang.personal_limit_player_high+limit_high);
}else{
playerbet+=chipnum;
playBetaudio();
}
downbet=playerbet+player_amount;
break;
// 虎
case chiptype=="tiger":
if(tigerbet+chipnum+player_amount+banker_amount<limit_low){
alert_box(lang.personal_limit_player_low+limit_low);
}else if(tigerbet+chipnum+player_amount+banker_amount>limit_high){
alert_box(lang.personal_limit_player_high+limit_high);
}else{
tigerbet+=chipnum;
playBetaudio();
}
downbet=tigerbet+player_amount;
break;
// 和
case chiptype=="tie":
if(tiebet+chipnum+tie_amount<limit_low_tie){
alert_box(lang.personal_limit_tie_low+limit_low_tie);
}else if(tiebet+chipnum+tie_amount>limit_high_tie){
alert_box(lang.personal_limit_tie_high+limit_high_tie);
}else{
tiebet+=chipnum;
playBetaudio();
}
downbet=tiebet+tie_amount;
break;
// 庄
case chiptype=="banker":
if(bankerbet+chipnum+banker_amount+player_amount<limit_low){
alert_box(lang.personal_limit_banker_low+limit_low);
}else if(bankerbet+chipnum+banker_amount+player_amount>limit_high){
alert_box(lang.personal_limit_banker_high+limit_high);
}else{
bankerbet+=chipnum;
playBetaudio();
}
downbet=bankerbet+banker_amount;
break;
// 龙
case chiptype=="dragon":
if(dragonbet+chipnum+banker_amount<limit_low){
alert_box(lang.personal_limit_banker_low+limit_low);
}else if(dragonbet+chipnum+banker_amount>limit_high){
alert_box(lang.personal_limit_banker_high+limit_high);
}else{
dragonbet+=chipnum;
playBetaudio();
}
downbet=dragonbet+banker_amount;
break;
// 闲对
case chiptype=="ppair":
if(ppairbet+chipnum+player_pair_amount+banker_pair_amount<limit_low_pair){
alert_box(lang.personal_limit_player_pair_low+limit_low_pair);
}else if(ppairbet+chipnum+player_pair_amount>limit_high_pair){
alert_box(lang.personal_limit_player_pair_high+banker_pair_amount+limit_high_pair);
}else{
ppairbet+=chipnum;
playBetaudio();
}
downbet=ppairbet+player_pair_amount;
break;
// 庄对
case chiptype=="bpair":
if(bpairbet+chipnum+banker_pair_amount+player_pair_amount<limit_low_pair){
alert_box(lang.personal_limit_banker_pair_low+limit_low_pair);
}else if(bpairbet+chipnum+banker_pair_amount+player_pair_amount>limit_high_pair){
alert_box(lang.personal_limit_banker_pair_high+limit_high_pair);
}else{
bpairbet+=chipnum;
playBetaudio();
}
downbet=bpairbet+banker_pair_amount;
break;
}
if(downbet>0){showChip(_this,chiptype,downbet);}
}else{
alert_box(lang.game_stop_bet);
}
}else{
alert_box(lang.select_chip_tip)
}
})
// 确定下注
$(".games .btn-box .cancel").click(function(){
if(count == false){
alert_box(lang.game_not_start);
}else if(count > 5){
var BetData={};
BetData.player=playerbet;
BetData.tiger=tigerbet;
BetData.banker=bankerbet;
BetData.dragon=dragonbet;
BetData.tie=tiebet;
BetData.ppair=ppairbet;
BetData.bpair=bpairbet;
toBet(BetData);
// console.log(BetData)
playerbet=0,tigerbet=0,bankerbet=0,dragonbet=0,tiebet=0,ppairbet=0,bpairbet=0;
}else{
alert_box(lang.game_stop_bet);
}
})
// 退押 下注
$(".games .btn-box .confirm").click(function(){
$("#chiptab").find(".chipbox").html("");
lineLoginchip(successBet);
playerbet=0,tigerbet=0,bankerbet=0,dragonbet=0,tiebet=0,ppairbet=0,bpairbet=0;
})
})
function playBetaudio(){
$("#betaudio")[0].src="/static/horizontal/mp3/raise.ogg"
$("#betaudio")[0].play();
}
// 计算筹码个数
function showChip(_this,chiptype,downbet){
var w5=parseInt(downbet/50000)
var w2=parseInt((downbet-w5*50000)/20000)
var w1=parseInt((downbet-w5*50000-w2*20000)/10000)
var w=parseInt(downbet/10000)
var k5=parseInt((downbet-w*10000)/5000)
var k2=parseInt((downbet-w*10000-k5*5000)/2000)
var k1=parseInt((downbet-w*10000-k5*5000-k2*2000)/1000)
var k=parseInt((downbet-w*10000)/1000)
var b5=parseInt((downbet-w*10000-k*1000)/500)
var b2=parseInt((downbet-w*10000-k*1000-b5*500)/200)
var b1=parseInt((downbet-w*10000-k*1000-b5*500-b2*200)/100)
var b=parseInt((downbet-w*10000-k*1000)/100)
var s5=parseInt((downbet-w*10000-k*1000-b*100)/50)
var s2=parseInt((downbet-w*10000-k*1000-b*100-s5*50)/20)
var s1=parseInt((downbet-w*10000-k*1000-b*100-s5*50-s2*20)/10)
var s=parseInt((downbet-w*10000-k*1000-b*100)/10)
var y5=parseInt((downbet-w*10000-k*1000-b*100-s*10)/5)
// console.log(
// ' w1:'+w1,' w5:'+w5,' 2w:'+w2,
// ' k1:'+k1,' k5:'+k5,' k2:'+k2,
// ' b1:'+b1,' b5:'+b5,' b2:'+b2,
// ' s1:'+s1,' s5:'+s5,' s2:'+s2,
// ' 5y:'+y5
// )
_this.find(".chipbox").html("");
for(var o=0;o<w5;o++){
_this.find(".chipbox").append('<i class="chip-5w" style="margin-bottom:'+o*0.35+'vw"></i>')
}
for(var p=0;p<w2;p++){
_this.find(".chipbox").append('<i class="chip-2w" style="margin-bottom:'+(w5+p)*0.35+'vw"></i>')
}
for(var q=0;q<w1;q++){
_this.find(".chipbox").append('<i class="chip-1w" style="margin-bottom:'+(w5+w2+q)*0.35+'vw"></i>')
}
for(var r=0;r<k5;r++){
_this.find(".chipbox").append('<i class="chip-5k" style="margin-bottom:'+(w5+w2+w1+r)*0.35+'vw"></i>')
}
for(var t=0;t<k2;t++){
_this.find(".chipbox").append('<i class="chip-2k" style="margin-bottom:'+(w5+w2+w1+k5+t)*0.35+'vw"></i>')
}
for(var u=0;u<k1;u++){
_this.find(".chipbox").append('<i class="chip-1k" style="margin-bottom:'+(w5+w2+w1+k5+k2+u)*0.35+'vw"></i>')
}
for(var v=0;v<b5;v++){
_this.find(".chipbox").append('<i class="chip-500" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+v)*0.35+'vw"></i>')
}
for(var w=0;w<b2;w++){
_this.find(".chipbox").append('<i class="chip-200" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+w)*0.35+'vw"></i>')
}
for(var x=0;x<b1;x++){
_this.find(".chipbox").append('<i class="chip-100" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+b2+x)*0.35+'vw"></i>')
}
for(var z=0;z<s5;z++){
_this.find(".chipbox").append('<i class="chip-50" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+z)*0.35+'vw"></i>')
}
for(var k=0;k<s2;k++){
_this.find(".chipbox").append('<i class="chip-20" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+k)*0.35+'vw"></i>')
}
for(var j=0;j<s1;j++){
_this.find(".chipbox").append('<i class="chip-10" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+s2+j)*0.35+'vw"></i>')
}
for(var l=0;l<y5;l++){
_this.find(".chipbox").append('<i class="chip-5" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+s2+s1+l)*0.35+'vw"></i>')
}
_this.find(".chipbox").append('<strong class="money" style="margin-bottom:'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+s2+s1+l)*0.35+'vw">'+downbet+'</strong>')
}
// 确认下注数据
function toBet(BetData){
console.log(BetData)
console.log(TableId);
if(BetData.player > 0 || BetData.banker > 0 || BetData.tie > 0 || BetData.bpair > 0 || BetData.ppair > 0 || BetData.dragon > 0 || BetData.tiger > 0){
var tab_id = number_tab_id;
var user_id = $('#userid').val();
if(game_id==1){
webSocket.send('{"table_id":"'+TableId+'","connect":"client","mode":"toBet","user_id":"'+user_id+'","number_tab_id":"'+parseInt(tab_id)+'","bankerAmount":"'+BetData.banker+'","playerAmount":"'+BetData.player+'","tieAmount":"'+BetData.tie+'","bankerPairAmount":"'+BetData.bpair+'","playerPairAmount":"'+BetData.ppair+'"}');
}else if(game_id==2){
webSocket.send('{"table_id":"'+TableId+'","connect":"client","mode":"toBet","user_id":"'+user_id+'","number_tab_id":"'+parseInt(tab_id)+'","bankerAmount":"'+BetData.dragon+'","playerAmount":"'+BetData.tiger+'","tieAmount":"'+BetData.tie+'"}');
}
}else{
alert_box(lang.to_bet_confirm_tip);
return false;
}
};
// 下注回显示
function lineLoginchip(data){
var _thisdata=data;
if(_thisdata!=""){
$.each(_thisdata,function(i,v){
if(v>0){
switch (i){
case 'banker_amount':
var _this=$("#chiptab").find(".banker"), chiptype='banker', downbet=_thisdata.banker_amount;
break;
case 'player_amount':
var _this=$("#chiptab").find(".player"), chiptype='player', downbet=_thisdata.player_amount;
break;
case 'tie_amount':
var _this=$("#chiptab").find(".tie"), chiptype='tie', downbet=_thisdata.tie_amount;
break;
case 'banker_pair_amount':
var _this=$("#chiptab").find(".bpair"), chiptype='bpair', downbet=_thisdata.banker_pair_amount;
break;
case 'player_pair_amount':
var _this=$("#chiptab").find(".ppair"), chiptype='ppair', downbet=_thisdata.player_pair_amount;
break;
}
showChip(_this,chiptype,downbet)
}
})
}
}
// 自动翻牌
function getCard(){
webSocket.send('{"connect":"client","mode":"getCard"}');
};
function showCard(data,auto){
if(auto==1){
$(".games .poker-box").addClass("show")
var round = data.card_info.round;
var roundData=[
{"position":11,"card":round.player_1,"number":round.player_1_number},
{"position":12,"card":round.player_2,"number":round.player_2_number},
{"position":13,"card":round.player_3,"number":round.player_3_number},
{"position":21,"card":round.banker_1,"number":round.banker_1_number},
{"position":22,"card":round.banker_2,"number":round.banker_2_number},
{"position":23,"card":round.banker_3,"number":round.banker_3_number},
]
$.each(roundData,function(i,v){
if(v.number!=false){
var _thisdata={"status":true,round:v}
Flop(_thisdata)
}
})
}
}
function Flop(data){
var whichpoker='',pokerindex='',pokercard='';
if(data.status==true){
var which=data.round.position + '';
switch(which){
case '11':
whichpoker='player-card';
pokerindex=0;
break;
case '12':
whichpoker='player-card';
pokerindex=1;
break;
case '13':
whichpoker='player-card';
pokerindex=2;
break;
case '21':
whichpoker='banker-card';
pokerindex=0;
break;
case '22':
whichpoker='banker-card';
pokerindex=1;
break;
case '23':
whichpoker='banker-card';
pokerindex=2;
break;
}
pokercard=data.round.card;
var $poker=$('.games .poker-box .'+ whichpoker+' .item');
var pokersrc="static/poker/"+pokercard+".png";
if(pokerindex==2){
$poker.eq(pokerindex).find(".card").css("display","block")
$poker.eq(pokerindex).find(".card").addClass("active")
$poker.eq(pokerindex).find(".card").css("background-image","url("+pokersrc+")")
}else{
$poker.eq(pokerindex).find(".card").addClass("active")
$poker.eq(pokerindex).find(".card").css("background-image","url("+pokersrc+")")
}
}
}
function setBetStatus(number_tab_status){
if(number_tab_status.type == 1){
//桌子停台状态或者洗牌状态
Maskplay(number_tab_status.msg,number_tab_status.in_checkout);
}else if(number_tab_status.type == 2){
Maskplay();
$('#number_tab_status').val(number_tab_status.betStatus);
}
};
/* 桌子为停台中获知洗牌中的页面状态 */
function Maskplay(msg, state){
var state=state||0,msg=msg||'';
if(state == 1 || state == 2){
var table_state = 'table_status_' + state;
$('body').append('<div class="Maskplay"><span class="msgbox">'+lang[table_state]+'</span>'+'</div>');
}else{
$('body').find(".Maskplay").remove();
}
}