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

2221 lines
77 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var smallH=0,smallW=0,bigH=0,bigW=0;
var unitsmall=0,unitbig=0,colsmall=0,colbig=0;
var roll=0;LiWidth=0;
var BetStatus;
var askData = false;
var isCBoot = false;
var keyT;
var game_id;
var mp3List;
var audio=$("#audio").get(0);
var num=0;
var isWin={
win_player_1:null,
win_player_2:null,
win_player_3:null,
text:[]
};
var support={};
var card_info=[];
var isopentime=false;
//定位数据
var diceOne = 0;
var diceTwo = 0;
var dicePosition = 0;
var diceAgain = 0;
$(function(){
//视频处理
$("#video-iframe").attr("src",baseVideoUrl+'?url='+flvUrl);
$(document).keydown(function (e){
if(e.keyCode == 13){
if(isCBoot == true){
$('.layui-layer-btn0').click();
isCBoot = false;
}else if(diceOne > 0 && diceTwo > 0){
//获取牌面
var finalDiceNumber = (diceOne + diceTwo) % 4;
if (finalDiceNumber == 0) finalDiceNumber = 4;
finalDiceNumber = '10' + finalDiceNumber;
//发送socket
webSocket.send('{"connect":"scan","mode":"sendScanResult","number_tab_id":'+parseInt(number_tab_id)+',"table_id":"'+parseInt($('#table_id').val())+'","card":"'+finalDiceNumber+'","position":"0","is_end":0}');
diceOne = 0;
diceTwo = 0;
$('#show_dice').hide();
$('#dice_one').html("");
$('#dice_two').html("");
}else{
var numberTabStatus = $('#number_tab_status').val();
if (numberTabStatus == 0) {
if (!isopentime) {
var is_rob = $('#is_rob').val();
if(is_rob == 1){
startRob();
}else{
startBet();
}
$('#keycode').val('');
}else{
layer.msg("请稍等!");
}
} else if (numberTabStatus == 2) {
opening();
}
}
}
//发送定位牌
if(card_first_type == 1 && e.keyCode >= 97 && e.keyCode <= 102){
if (dicePosition == 0) {
diceOne = getKeyCodeNumber(e.keyCode);
$('#dice_one').html(diceOne);
dicePosition = 1;
if (diceAgain == 1) {
$('#dice_two').html("");
}
diceAgain = 0;
} else if (dicePosition == 1) {
diceTwo = getKeyCodeNumber(e.keyCode);
$('#dice_two').html(diceTwo);
dicePosition = 0;
diceAgain = 1;
}
}
//开局
if(e.keyCode == 111){
$('#keycode').val('6');
}
//修改当前状态
if(e.keyCode == 109){
$('#update_ludan').toggle();
}
//换靴
if(e.keyCode == 107){
changeBoot();
$('#keycode').val('');
}
//退出登录
if(e.keyCode == 106){
if(table_type == 1){
cutout();
$('#keycode').val('');
}else{
if(bet_type == 2){
cutout();
$('#keycode').val('');
}else{
loginout();
$('#keycode').val('');
}
}
}
//取消
if(e.keyCode == 110){
$('.layui-layer-btn1').click();
}
if(e.keyCode == 96){
if($("#game_id").val()==5||$("#game_id").val()==4){///抢庄台的0按键处理
var number_rob_status=$("#number_rob_status").val();
var number_tab_status=$("#number_tab_status").val();
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
endRob();
}
else {
endBet();
}
}else {
endBet();
}
}
})
$(window).resize(function(){
requestData(ludan);
// waybillFunc();
})
////获取台
game_id= $("#game_id").val();
audio.addEventListener("ended", nextAudio);
getTime();
// 日期
setInterval(function(){
getTime();
}, 1000);
// 侧栏控台
$(".control-box").hover(function(){
$(".control-box").stop().animate({right:"0"})
},function(){
$(".control-box").stop().animate({right:"-410px"})
})
// 多语言切换
$('#language').change(function(){
var language = $('#language').val();
if(language == "cn" || language == "tw" || language == "en"){
$.get("/index/lang?lang="+language,function(data){
location.reload();
})
}
});
$("#confirm_update_ludan").click(function (){
retreated();
});
$("#cancel_update_ludan").click(function (){
$('#update_ludan').hide();
});
})
//判断键盘数字
function getKeyCodeNumber(keyCode){
if (keyCode == 97) {
return 1;
}
if (keyCode == 98) {
return 2;
}
if (keyCode == 99) {
return 3;
}
if (keyCode == 100) {
return 4;
}
if (keyCode == 101) {
return 5;
}
if (keyCode == 102) {
return 6;
}
}
//百家乐判断是否要博牌
function isBopai(card_info){
card_info["length"]=0;
for( var i in card_info) { card_info["length"]++; }
var bopai_info = Array(3);
if(card_info.length<4){
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
card_info=[];
return bopai_info;
}
else {
if (card_info['banker_1'] > 10) {
card_info['banker_1'] = 10;
}
if (card_info['banker_2'] > 10) {
card_info['banker_2'] = 10;
}
if (card_info['banker_3'] > 10) {
card_info['banker_3'] = 10;
}
if (card_info['player_1'] > 10) {
card_info['player_1'] = 10;
}
if (card_info['player_2'] > 10) {
card_info['player_2'] = 10;
}
if (card_info['player_3'] > 10) {
card_info['player_3'] = 10;
}
var card_length = card_info.length;
var banker_result = (card_info['banker_1'] + card_info['banker_2']) % 10;
var player_result = (card_info['player_1'] + card_info['player_2']) % 10;
if (card_length == 4) {
if (player_result == 8 || player_result == 9) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
else if (banker_result == 8 || banker_result == 9) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
else if (player_result == 0 || player_result == 1 || player_result == 2 || player_result == 3 || player_result == 4 || player_result == 5) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 1;
}
else if (banker_result == 0 || banker_result == 1 || banker_result == 2 || banker_result == 3 || banker_result == 4 || banker_result == 5) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 1;
bopai_info['player_3'] = 0;
}
else if (player_result == 6 || player_result == 7) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
}
else if (card_length == 5) {
if (card_info['player_3'] > 0) {
if (banker_result == 0 || banker_result == 1 || banker_result == 2) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 1;
bopai_info['player_3'] = 0;
}
else if (banker_result == 3) {
if (card_info['player_3'] == 1 || card_info['player_3'] == 2 || card_info['player_3'] == 3 || card_info['player_3'] == 4 || card_info['player_3'] == 5 || card_info['player_3'] == 6 || card_info['player_3'] == 7 || card_info['player_3'] == 9 || card_info['player_3'] == 10) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 1;
bopai_info['player_3'] = 0;
}
else if (card_info['player_3'] == 8) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
}
else if (banker_result == 4) {
if (card_info['player_3'] == 2 || card_info['player_3'] == 3 || card_info['player_3'] == 4 || card_info['player_3'] == 5 || card_info['player_3'] == 6 || card_info['player_3'] == 7) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 1;
bopai_info['player_3'] = 0;
}
else if (card_info['player_3'] == 1 || card_info['player_3'] == 8 || card_info['player_3'] == 9 || card_info['player_3'] == 10) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
}
else if (banker_result == 5) {
if (card_info['player_3'] == 4 || card_info['player_3'] == 5 || card_info['player_3'] == 6 || card_info['player_3'] == 7) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 1;
bopai_info['player_3'] = 0;
}
else if (card_info['player_3'] == 1 || card_info['player_3'] == 2 || card_info['player_3'] == 3 || card_info['player_3'] == 8 || card_info['player_3'] == 9 || card_info['player_3'] == 10) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
}
else if (banker_result == 6) {
if (card_info['player_3'] == 6 || card_info['player_3'] == 7) {
bopai_info['is_bopai'] = true;
bopai_info['banker_3'] = 1;
bopai_info['player_3'] = 0;
}
else if (card_info['player_3'] == 1 || card_info['player_3'] == 2 || card_info['player_3'] == 3 || card_info['player_3'] == 4 || card_info['player_3'] == 5 || card_info['player_3'] == 8 || card_info['player_3'] == 9 || card_info['player_3'] == 10) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
}
else if (banker_result == 7) {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
} else {
bopai_info['is_bopai'] = false;
bopai_info['banker_3'] = 0;
bopai_info['player_3'] = 0;
}
}
card_info=[];
return bopai_info;
}
}
function close_print(){
$(".iframe-box").hide();
}
var showPng = function (opening, pair){
if(opening == 1 && pair == 0) {
$('#openingPng').attr('src','/static/result_img/banker.png');
mp3List = ['banker_win.mp3'];
}
if(opening == 1 && pair == 1) {
$('#openingPng').attr('src','/static/result_img/banker_bpair.png');
mp3List = ['banker_win.mp3','banker_pair.mp3'];
}
if(opening == 1 && pair == 2) {
$('#openingPng').attr('src','/static/result_img/banker_ppair.png');
mp3List = ['banker_win.mp3','player_pair.mp3'];
}
if(opening == 1 && pair == 3) {
$('#openingPng').attr('src','/static/result_img/banker_bpair_ppair.png');
mp3List = ['banker_win.mp3','banker_pair.mp3','player_pair.mp3'];
}
if(opening == 2 && pair == 0) {
$('#openingPng').attr('src','/static/result_img/player.png');
mp3List = ['player_win.mp3'];
}
if(opening == 2 && pair == 1) {
$('#openingPng').attr('src','/static/result_img/player_bpair.png');
mp3List = ['player_win.mp3','banker_pair.mp3'];
}
if(opening == 2 && pair == 2) {
$('#openingPng').attr('src','/static/result_img/player_ppair.png');
mp3List = ['player_win.mp3','player_pair.mp3'];
}
if(opening == 2 && pair == 3) {
$('#openingPng').attr('src','/static/result_img/player_bpair_ppair.png');
mp3List = ['player_win.mp3','banker_pair.mp3','player_pair.mp3'];
}
if(opening == 3 && pair == 0) {
$('#openingPng').attr('src','/static/result_img/tie.png');
mp3List = ['tie.mp3'];
}
if(opening == 3 && pair == 1) {
$('#openingPng').attr('src','/static/result_img/tie_bpair.png');
mp3List = ['tie.mp3','banker_pair.mp3'];
}
if(opening == 3 && pair == 2) {
$('#openingPng').attr('src','/static/result_img/tie_ppair.png');
mp3List = ['tie.mp3','player_pair.mp3'];
}
if(opening == 3 && pair == 3) {
$('#openingPng').attr('src','/static/result_img/tie_bpair_ppair.png');
mp3List = ['tie.mp3','banker_pair.mp3','player_pair.mp3'];
}
audioMp3(mp3List).Play();
//debugger;
//$('#openingElement').show().delay(3000).hide(300);
}
var showPngDt = function (opening){
if(opening == 1) {
$('#openingPng').attr('src','/static/deal/img/dragon_win.png');
mp3List = ['dragon_win.mp3'];
}
if(opening == 2) {
$('#openingPng').attr('src','/static/deal/img/tiger_win.png');
mp3List = ['tiger_win.mp3'];
}
if(opening == 3) {
$('#openingPng').attr('src','/static/deal/img/tie.png');
mp3List = ['tie.mp3'];
}
audioMp3(mp3List).Play();
// $('#openingElement').show()
}
function audioMp3(mp3List){
var mp3=new Object();
mp3.mp3List=mp3List;
mp3.url="/static/deal/mp3/";
mp3.auto_play=false;
mp3.loop=false;
mp3.Play=function(){
audio.src=this.url+this.mp3List[0];
audio.play();
}
mp3.Muted=function(){
audio.muted ? audio.muted = false : audio.muted = true;
}
mp3.volumeAdd=function(){
if(audio.volume.toFixed(1)>=1){
audio.volume=1
}else{
audio.volume = audio.volume + 0.1;
}
}
mp3.volumeMinus=function(){
if(audio.volume.toFixed(1)<=0){
audio.volume=0
}else{
audio.volume = audio.volume - 0.1;
}
}
return mp3;
}
function nextAudio(){
num+=1
if(num<mp3List.length){
audio.src="/static/deal/mp3/"+mp3List[num];
audio.play();
}else{
audio.pause();
audio.currentTime = 0.0;
// console.log("播完")
num=0;
}
}
// 桌子状态
var setBetStatus = function (BetStatus){
if(game_id == 5||game_id == 4){
if(BetStatus.rob_status>=0){
$('#number_rob_status').val(BetStatus.rob_status);
}
}
if(BetStatus.type == 1){
$('.nobegin-tip').html(lang[BetStatus.betMsg]);
}else if(BetStatus.type == 2){
$('#number_tab_status').val(BetStatus.betStatus);
if(BetStatus.betStatus==2){
$(".begincard").fadeIn(function(){
if(game_id==1||game_id==2){
$(".begincard .box").animate({"opacity":"1"});
$(".table-info .nobegin-tip").fadeOut();
}else if(game_id==4||game_id==5){
$(".begincard .box").animate({"opacity":"1"});
$(".begincard .box1").animate({"top":"100%","opacity":"1"});
$(".begincard .box2").animate({"top":"100%","opacity":"1"});
$(".begincard .box3").animate({"top":"100%","opacity":"1"});
$(".begincard .box4").animate({"top":"100%","opacity":"1"});
}
$('.nobegin-tip').html("");
$('#show-status-span').html(lang[BetStatus.betMsg]);
});
}else if(BetStatus.betStatus==1){
$('.nobegin-tip').html(lang[BetStatus.betMsg]);
$('#show-status-span').html("");
//$(".begincard").fadeOut();
//$(".table-info .nobegin-tip").fadeOut();
}else{
$('.nobegin-tip').html(lang[BetStatus.betMsg]);
$('#show-status-span').html("");
if(game_id == 5||game_id == 4){
if(BetStatus.rob_status == 1){
if(BetStatus.rob_status>=0){
$('#number_rob_status').val(BetStatus.rob_status);
}
$('.nobegin-tip').html('抢庄中');
}else if(BetStatus.rob_status == 2){
if(BetStatus.rob_status>=0){
$('#number_rob_status').val(BetStatus.rob_status);
}
$('.nobegin-tip').html('抢庄结束,开始下注');
}
}
}
}
};
// 获取桌子数据
var setNumberInfo = function (round){
number_tab_id=round.number_tab_id
$('#boot_num').html(round.boot_num);//靴数
$('#number').html(round.number_tab_number);// 局数
$('#number_tab_dt_id').val(round.number_tab_id);
$('#boot_id').val(round.boot_id);
// getResultToatl(round.tid,round.boot_id);
};
// 重置下注
var clearBetAmount = function (){
$('#banker_amount').html(0);
$('#player_amount').html(0);
$('#tie_amount').html(0);
$('#banker_pair_amount').html(0);
$('#player_pair_amount').html(0);
$('#all_amount').html(0);
};
//修改或者删除录单后从新获取number
var getNumber = function (){
var query = new Object();
query.number_tab_id = parseInt($('#number_tab_dt_id').val());
$.ajax({
url:"/index/get_number",
type:"POST",
dataType:"JSON",
data:query,
async:false,
success:function(data){
if(data.status == 1){
$('#number').html(data.data);
}
}
})
};
var setBetAmount = function (amount){
var banker_amount = parseInt($('#banker_amount').html()) >= 0 ? parseInt($('#banker_amount').html()) : 0;
var player_amount = parseInt($('#player_amount').html()) >= 0 ? parseInt($('#player_amount').html()) : 0;
var tie_amount = parseInt($('#tie_amount').html()) >= 0 ? parseInt($('#tie_amount').html()) : 0;
var banker_pair_amount = parseInt($('#banker_pair_amount').html()) >= 0 ? parseInt($('#banker_pair_amount').html()) : 0;
var player_pair_amount = parseInt($('#player_pair_amount').html()) >= 0 ? parseInt($('#player_pair_amount').html()) : 0;
var add_banker_amount = parseInt(amount.banker_amount) >= 0 ? parseInt(amount.banker_amount) : 0;
var add_player_amount = parseInt(amount.player_amount) >= 0 ? parseInt(amount.player_amount) : 0;
var add_tie_amount = parseInt(amount.tie_amount) >= 0 ? parseInt(amount.tie_amount) : 0;
var add_banker_pair_amount = parseInt(amount.banker_pair_amount) >= 0 ? parseInt(amount.banker_pair_amount) : 0;
var add_player_pair_amount = parseInt(amount.player_pair_amount) >= 0 ? parseInt(amount.player_pair_amount) : 0;
var all_amount=banker_amount + player_amount + tie_amount + banker_pair_amount + player_pair_amount + add_banker_amount+ add_player_amount+ add_tie_amount + add_banker_pair_amount + add_player_pair_amount
$('#banker_amount').html(banker_amount + add_banker_amount);
$('#player_amount').html(player_amount + add_player_amount);
$('#tie_amount').html(tie_amount + add_tie_amount);
$('#banker_pair_amount').html(banker_pair_amount + add_banker_pair_amount);
$('#player_pair_amount').html(player_pair_amount + add_player_pair_amount);
$('#all_amount').html(all_amount);
};
var getCard = function(){
var table_id = parseInt($('#table_id').val());
webSocket.send('{"connect":"space","mode":"getCard","table_id":"'+table_id+'"}');
};
var showCard = function(data){
$(".begincard").fadeIn(function(){
$(".begincard .box").animate({"opacity":"1"});
$(".table-info .nobegin-tip").fadeOut();
});
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)
}
})
}
var showCardNn = function(data){
if(data.round.bet_status == 2){
if (data.card_info.length == 0) {
$('#show_dice').show();
}
$(".begincard").fadeIn(function(){
$(".begincard .box").animate({"opacity":"1"});
$(".begincard .box1").animate({"top":"100%","opacity":"1"});
$(".begincard .box2").animate({"top":"100%","opacity":"1"});
$(".begincard .box3").animate({"top":"100%","opacity":"1"});
$(".begincard .box4").animate({"top":"100%","opacity":"1"});
});
card_number_info = data.card_info;
if(card_number_info.length > 0){
for(var i=0;i<card_number_info.length;i++){
if(card_number_info[i]['order_num'] == 0){
pokercard=card_number_info[i]['card'];
pokersrc="/static/poker/"+pokercard+".png";
$('.begincard .position-card .card').css("opacity",1);
$('.begincard .position-card .card').find(".face").css("background-image","url("+pokersrc+")");
}else{
pokercard=card_number_info[i]['card'];
order_num = card_number_info[i]['order_num'];
card_cow = card_number_info[i]['order_num'].substring(0,1);
card_list = card_number_info[i]['order_num'].substring(1,2) - 1;
if(card_cow == 1){
box_name = 'player-1-card';
if(card_number_info[i]['result']){
$('.player_1_result').html(card_number_info[i]['result']);
}
}else if(card_cow == 2){
box_name = 'player-2-card';
if(card_number_info[i]['result']){
$('.player_2_result').html(card_number_info[i]['result']);
}
}else if(card_cow == 3){
box_name = 'player-3-card';
if(card_number_info[i]['result']){
$('.player_3_result').html(card_number_info[i]['result']);
}
}else if(card_cow == 4){
box_name = 'banker-card';
if(card_number_info[i]['result']){
$('.banker_result').html(card_number_info[i]['result']);
}
}
$poker=$('.begincard '+'.'+ box_name+' .card');
pokersrc="/static/poker/"+pokercard+".png";
$poker.eq(card_list).find(".face").css("background-image","url("+pokersrc+")")
$('.begincard '+'.'+ box_name).find(".card").eq(card_list).css('opacity',1);
}
}
}
}
}
var resetBoot = function(){
layer.confirm(lang.is_to_balance,{btn: [lang.confirm,lang.cancel],title:lang.message}, function(index){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"resetBoot","table_id":"'+parseInt(table_id)+'"}');
layer.close(index);
});
};
var changeBoot = function(){
isCBoot = true;
var betStatus=$("#number_tab_status").val();
if(betStatus == 0 || betStatus == 3){
layer.confirm(lang.is_to_boot,{btn: [lang.confirm,lang.cancel],title:lang.message}, function(index){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"changeBoot","table_id":"'+parseInt(table_id)+'"}');
isCBoot = false;
layer.close(index);
},function(index){
isCBoot = false;
});
}else{
layer.msg(lang.boot_settle_fail_3);
}
};
var resetNumberTab = function(){
layer.confirm(lang.is_reset_number,{btn: [lang.confirm,lang.cancel],title:lang.message}, function(index){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"resetNumberTab","table_id":"'+parseInt(table_id)+'"}');
layer.close(index);
});
};
var loginout = function(){
isCBoot = true;
layer.confirm(lang.is_to_logout,{btn: [lang.confirm,lang.cancel],title:lang.message}, function(index){
window.location.href='/login/logout';
isCBoot = false;
layer.close(index);
},function(index){
isCBoot = false;
});
};
var startBet = function(){
var table_id = parseInt($('#table_id').val());
webSocket.send('{"connect":"space","mode":"startBet","table_id":"'+table_id+'","number_tab_id":"'+parseInt(number_tab_id)+'"}');
var betStatus=$("#number_tab_status").val();
if(betStatus==0){
mp3List = ['start.mp3'];
audioMp3(mp3List).Play();
}
};
var startRob = function(){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"startRob","number_tab_id":"'+parseInt(number_tab_id)+'","table_id":"'+parseInt(table_id)+'"}');
var robStatus=$("#number_rob_status").val();
if(robStatus==0){
mp3List = ['start_rob.mp3'];
audioMp3(mp3List).Play();
$("#number_rob_status").val(1);
}
};
var endRob = function (){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"endRob","number_tab_id":"'+parseInt(number_tab_id)+'","table_id":"'+parseInt(table_id)+'"}');
var robStatus=$("#number_rob_status").val();
if(robStatus==1){
$("#number_rob_status").val(2);
}
};
var endBet = function (){
var table_id = parseInt($('#table_id').val());
webSocket.send('{"connect":"space","mode":"endBet","table_id":"'+table_id+'","number_tab_id":"'+parseInt(number_tab_id)+'"}');
var betStatus=$("#number_tab_status").val();
if(betStatus==1){
// $(".countdown .num").html($("#wait_time").val());
$(".countdown").css({"opacity":0,"display":"none"});
// $(".countdown").fadeOut();
$(".countdown .grab-count").removeClass("count-active");
mp3List = ['stop_2.mp3'];
audioMp3(mp3List).Play();
}
};
var opening = function(){
$('.control-box .btn-box2 span').removeClass('on');
var opening = $('#opening').val();
var result_banker_pair = $('#result_banker_pair').val();
var result_player_pair = $('#result_player_pair').val();
var table_id = parseInt($('#table_id').val());
if(game_id==1){
webSocket.send('{"connect":"space","mode":"openingBaccarat","table_id":"'+table_id+'","number_tab_id":"'+parseInt(number_tab_id)+'","opening":"'+opening+'","banker_pair":"'+result_banker_pair+'","player_pair":"'+result_player_pair+'"}');
}
else if(game_id==2){
var number_tab_dt_id = $('#number_tab_dt_id').val();
webSocket.send('{"connect":"space","mode":"openingDt","table_id":"'+table_id+'","number_tab_id":"'+parseInt(number_tab_dt_id)+'","opening":"'+opening+'"}');
}
else if(game_id==4){
var number_tab_dt_id = $('#number_tab_dt_id').val();
webSocket.send('{"connect":"space","mode":"openingNn","number_tab_id":"'+parseInt(number_tab_dt_id)+'","table_id":"'+parseInt(table_id)+'"}');
}else if(game_id == 5){
var number_tab_dt_id = $('#number_tab_dt_id').val();
webSocket.send('{"connect":"space","mode":"openingTc","number_tab_id":"'+parseInt(number_tab_dt_id)+'","table_id":"'+parseInt(table_id)+'"}');
}
};
//回档方法
var retreated = function(){
var game_id = parseInt($('#game_id').val());
var table_id = parseInt($('#table_id').val());
var boot_id = parseInt($('#boot_id').val());
var number_tab_id = parseInt($('#number_tab_dt_id').val());
var update_ludan_result = $('#update_ludan_result').val();
if(update_ludan_result == ''){
layer.msg(lang.need_a_result);
return false;
}
webSocket.send('{"connect":"space","mode":"retreated","number_tab_id":"'+number_tab_id+'","boot_id":"'+boot_id+'","table_id":"'+table_id+'","game_id":"'+game_id+'","result":"'+update_ludan_result+'"}');
}
//回档方法
var cutout = function(){
var game_id = parseInt($('#game_id').val());
var table_id = parseInt($('#table_id').val());
var boot_id = parseInt($('#boot_id').val());
//获取上一铺的ID
var number_tab_id = 0;
var istosend = false;
var query = new Object();
query.game_id = game_id;
query.table_id = table_id;
query.boot_id = boot_id;
$.ajax({
url:"/index/get_last_number_tab_id",
type:"POST",
dataType:"JSON",
data:query,
async:false,
success:function(data){
if(data.status == 1){
number_tab_id = data.data;
istosend = true;
}else{
layer.msg(data.msg);
}
}
})
if(istosend == false){
return false;
}
var action = 2;
var update_ludan_result = '0-0';
isCBoot = true;
layer.confirm('是否需要进行删除上一铺?',{btn: ['确认','取消']}, function(index){
webSocket.send('{"connect":"space","mode":"retreated","number_tab_id":"'+number_tab_id+'","boot_id":"'+boot_id+'","table_id":"'+table_id+'","game_id":"'+game_id+'","result":"'+update_ludan_result+'","action":"'+action+'"}');
isCBoot = false;
layer.close(index);
},function(index){
isCBoot = false;
});
}
// 执行sock事件
function executetWebSocket(event){
var data = $.parseJSON(event.data);
var table_id = parseInt($('#table_id').val());
if(data.table_id == table_id){
if(data.sendMode == 'onlineLogin'){
// console.log(data)
if(data.status === true){
//登录成功
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status)
clearBetAmount();
waybillFunc();
if(game_id==1||game_id==2){
// 获取卡牌数据
getCard();
}else if(game_id==4||game_id==5){
showCardNn(data);
}
}else{
//登录失败
// webSocket.close();
layer.msg(lang[data.msg],{time:0});
}
}else if(data.sendMode == 'sendScanResult'){
if(game_id==1||game_id==2){
Flop(data);
if (doIsOpening == 1 && data.doIsOpening == true) {
setTimeout(function(){
opening();
},2000);
}
}else if(game_id==4||game_id==5){
if(data.round.position == 0){
flop_position(data);
}else{
flop_card(data);
}
}
}else if(data.sendMode == 'resetBoot' || data.sendMode == 'changeBoot'){
if(data.status === true){
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status);
clearBetAmount();
waybillFunc();
// hiddenForecast(); //隐藏自动问路
}else{
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'startBet'){
if(data.status === true){
setBetStatus(data.round.number_tab_status);
}else{
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'startRobCountDown'){
if(data.status === true && data.countDown >= 0){
$('.nobegin-tip').html('抢庄中');
countDownRob(data.countDown);
}else{
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'endRob'){
$('.nobegin-tip').html('');
if(data.status === true){
$('#number_rob_status').val(2);
startBet();
}else{
layer.msg(data.msg);
}
}else if(data.sendMode == 'startBetCountDown'){
if(data.status === true && data.countDown >= 0){
countDown(data.countDown);
}else{
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'endBet'){
if(data.status === true){
//判断是否需要等待间隔时间再开牌
if (interval_time > 0) {
var doIntervalTime = parseInt(interval_time) + 1;
var intervalTime = setInterval(function(){
doIntervalTime--;
$(".countdown .num").html(doIntervalTime)
$(".countdown").css({"opacity":1,"display":"block"});
$(".countdown .grab-count").addClass("count-active");
$(".countdown .round-txt-item").addClass("color-red");
if(doIntervalTime == 0) {
clearInterval(intervalTime);
$(".countdown").css({"opacity":0,"display":"none"});
$(".countdown .grab-count").removeClass("count-active");
$(".countdown .round-txt-item").removeClass("color-red");
if(game_id == 4 || game_id == 5){
$(".banker_result").html('');
$(".player_1_result").html('');
$(".player_2_result").html('');
$(".player_3_result").html('');
}
$('#opening').val(0);
$('#result_banker_pair').val(0);
$('#result_player_pair').val(0);
$(".countdown").css({"opacity":0,"display":"none"});
$(".countdown .grab-count").removeClass("count-active");
setBetStatus(data.round.number_tab_status);
c = parseInt($('#wait_time').val());
//判断是否骰子
if(card_first_type == 1){
$('#show_dice').show();
}
}
},1000);
}else{
if(game_id == 4 || game_id == 5){
$(".banker_result").html('');
$(".player_1_result").html('');
$(".player_2_result").html('');
$(".player_3_result").html('');
//判断是否骰子定位
if(card_first_type == 1){
$('#show_dice').show();
}
}
$('#opening').val(0);
$('#result_banker_pair').val(0);
$('#result_player_pair').val(0);
$(".countdown").css({"opacity":0,"display":"none"});
$(".countdown .grab-count").removeClass("count-active");
setBetStatus(data.round.number_tab_status);
c = parseInt($('#wait_time').val());
}
}else{
layer.msg(data.msg);
}
}else if(data.sendMode == 'toBet'){
if(data.status === true){
setBetAmount(data.betAmountMsg);
}
} else if(data.sendMode == 'openingBaccarat'){
if(data.status === true){
showPng(data.round.opening,data.round.pair);
gameResult(data)
$('#opening').val(0);
$('#result_banker_pair').val(0);
$('#result_player_pair').val(0);
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status);
clearBetAmount();
waybillFunc();
//showForecast(); // 自动问路
//autoBet(); // 自动开始下注
}else{
$('#opening').val(0);
$('#result_banker_pair').val(0);
$('#result_player_pair').val(0);
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'openingDt'){
if(data.status === true){
showPngDt(data.round.opening);
gameResult(data);
$('#opening').val(0);
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status);
clearBetAmount();
waybillFunc();
}else{
$('#opening').val(0);
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'openingNn'){
if(data.status === true){
setNumberInfo(data.round);
$('.box1').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box2').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box3').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box4').css("background-color","rgba(0, 0, 0, 0.5)");
gameResultNn(data);
}else{
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'openingTc'){
if(data.status === true){
$('#number_tab_status').val(0);
$('#number_rob_status').val(0);
setNumberInfo(data.round);
$('.box1').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box2').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box3').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box4').css("background-color","rgba(0, 0, 0, 0.5)");
gameResultNn(data);
}else{
layer.msg(lang[data.msg]);
}
}
else if(data.sendMode == 'sendOnlienNumberExit' || data.sendMode == 'sendOnlienNumberEntry' || data.sendMode == 'sendOnlienNumberSpaceEntry'){
$('#onlineNumber').html(data.number);
if(data.sendMode == 'sendOnlienNumberEntry'){
mp3List = ['welcome.mp3'];
audioMp3(mp3List).Play();
}
}else if(data.sendMode == "getCard"){
if(data.status == true){
showCard(data);
}
}else if(data.sendMode == 'retreated'){
if(data.status === true){
$("#update_ludan").hide();
waybillFunc();
getNumber();
}else{
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'RepeatedEntry'){
webSocket.close();
layer.msg(lang[data.msg]);
setTimeout(function (){
window.location.href='/login/logout';
},2000);
}else if(data.sendMode == 'resetNumberTab'){
if(data.status == true){
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status);
$(".countdown").css({"opacity":0,"display":"none"});
$(".countdown .grab-count").removeClass("count-active");
//$(".countdown").css({"opacity":1,"display":"block"});
//$(".countdown .grab-count").removeClass("count-active");
diceOne = 0;
diceTwo = 0;
$('#show_dice').hide();
$('#dice_one').html("");
$('#dice_two').html("");
dicePosition = 0;
$(".begincard .box").animate({"opacity":"0"},function(){
$(".begincard").fadeOut();
$(".table-info .nobegin-tip").fadeIn();
$('.box1').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box2').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box3').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box4').css("background-color","rgba(0, 0, 0, 0.5)");
//$(".begincard .player-card .draw .text ").html(lang.player)
//$(".begincard .banker-card .draw .text ").html(lang.banker)
//$(".begincard .list .draw .text").css("text-align","center")
$(".begincard .box .list .card").removeClass("begin")
$(".begincard .card .topleft").html("")
$(".begincard .card .bottomright").html("")
$(".list .card .face").css("background-image","")
$(".begincard .list .draw .rotate").css("display",'none');
//if(game_id==1||game_id==2){
// $(".begincard .box .list .card").find(".face").css("background-image","url('/static/deal/img/faces.png')")
//}
//else if(game_id==4){
// $(".list .card .face").css("background-image","")
//}
})
}else{
layer.msg(lang[data.msg]);
}
}
}
}
// WebSocket 数据交互
var number_tab_id;
var webSocket=null;
var websocketLive=true;
var webSocketPing=null;
var phoneSocket=null;
var phoneSocketPing=null;
var phoneSocketLive=true;
initWebSocket();
initPhoneSocket();
function initPhoneSocket(){
phoneSocket = new WebSocket(localPhoneWS);
phoneSocket.onerror = function(e){
console.log(e);
}
phoneSocket.onopen = function(e) {
phoneSocketLink(e);
}
phoneSocket.onclose = function(e) {
phoneSocketclose(e);
console.log("socket断开")
}
phoneSocket.onmessage = function(event) {
var data = $.parseJSON(event.data);
var table_id = parseInt($('#table_id').val());
if(data.table_id == table_id && data.sendMode == 'ShowPhone') {
countDown(10, true);
} else if (data.table_id == table_id && data.sendMode == 'CutPhone') {
console.log('cutdown...');
$(".phonering .grab-count").removeClass("count-active");
}
}
}
function phoneSocketLink(e){
var table_id = $('#table_id').val();
if(phoneSocketLive==false){
layer.closeAll();
phoneSocketLive=true;
layer.msg('服务重连成功!');
}
phoneSocket.send('{"connect":"wsapi","mode":"screenLogin","table_id":"'+table_id+'"}');
phoneSocketPing=setInterval(() => {
phoneSocket.send('{"event": "ping"}')
}, 5000);
}
function phoneSocketclose(e){
clearInterval(phoneSocketPing)
if(phoneSocketLive==true){
layer.msg('正在尝试重连服务中...', {
icon: 16,
shade: 0.6,
time:0,
});
phoneSocketLive=false;
}
setTimeout(()=>{
initPhoneSocket();
}, 3000);
}
function initWebSocket(){
webSocket = new WebSocket(websocketUrl);
webSocket.onerror = function(e){
console.log(e)
}
webSocket.onopen = function (e) {
websocketLink(e);
};
webSocket.onclose = function(e){
websocketclose(e);
console.log("socket断开")
};
webSocket.onmessage = function (event) {
executetWebSocket(event)
};
}
//服务端关闭
function websocketclose(e){
clearInterval(webSocketPing)
if(websocketLive==true){
layer.msg('正在尝试重连服务中...', {
icon: 16,
shade: 0.6,
time:0,
});
websocketLive=false;
}
setTimeout(()=>{
initWebSocket();
}, 3000);
}
// 连接websocket
function websocketLink(e){
var userid = $('#userid').val();
var account = $('#account').val();
var online_token = $('#online_token').val();
var table_id = $('#table_id').val();
if(parseInt(userid) > 0 && account != '' && online_token != ''){
if(websocketLive==false){
layer.closeAll();
websocketLive=true;
layer.msg('服务重连成功!');
}
// console.log(userid);
// console.log(account);
// console.log(online_token);
// console.log(table_id);
if(flvUrl){
$("#video-iframe").attr('src',baseVideoUrl+'?url='+flvUrl)
}
webSocket.send('{"connect":"space","mode":"onlineLogin","account":"'+account+'","userid":"'+userid+'","table_id":"'+table_id+'","online_token":"'+online_token+'"}');
webSocketPing=setInterval(() => {
webSocket.send('{"event": "ping"}')
}, 5000);
}
}
//判断抢庄还是下注
function judge_start(){
var is_rob = $('#is_rob').val();
if(is_rob == 1){
startRob();
}else{
startBet();
}
}
// 请求所有路单数据,执行画布刷新
function waybillFunc(){
var data = new Object;
data.boot_id = $('#boot_id').val();
data.game_id = $('#game_id').val();
var url=""
if(game_id==1||game_id==2){url="/index/waybill"}
else if(game_id==4||game_id==5){url="/index/waybill_nn"}
$.ajax({
url:url,
type:"POST",
dataType:"JSON",
data:data,
success:function(data){
// 将数据结果存session
ludan = data;
// 执行画布刷新
requestData(ludan);
}
});
}
function title(ctb,unit,x,y,type){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000";
var radius=unit/2||0;
if(type==1){
fonts= '庄家';
var font_color = '#b20a00';
}else if(type==2){
fonts= '闲一';
var font_color = '#0543bc';
}else if(type==3){
fonts= '闲二';
var font_color = '#0543bc';
}else if(type==4){
fonts= '闲三';
var font_color = '#0543bc';
}
if(type == 1){
var color = '#ffad97';
}else{
var color = '#73d8f7';
}
//背景色
ctb.fillStyle = color ; // 颜色
ctb.fillRect(x,(y-1)*unit,unit*2-1,unit-0.5);
ctb.fill();
//文字
ctb.font=unit*0.5+"px Arial";//字的大小
ctb.fillStyle = font_color ; // 颜色
ctb.textAlign = 'center'; //字的位置
ctb.textBaseline = 'middle';
ctb.fillText(fonts,radius+unit*(x/2),radius+unit*(y-1));
ctb.stroke();
}
function requestData(data,ask,askroad){
var ask=ask||false;
var askroad=askroad||{
"askshowroad":false,
"askbigRoad":false,
"askbigEyeRoad":false,
"askpathway":false,
"askroach":false,
};
bigH=$(".canvas-box.big").height();
bigW=$(".canvas-box.big").width();
// 计算单位
unitbig=bigH/6;
// 计算列个数
colbig=Math.floor(bigW/unitbig);
if(game_id==1){ CanvasTable("#canvas3",unitbig,6,colbig,data,ask,askroad);}
else if(game_id==2){CanvasTableDt("#canvas3",unitbig,6,colbig,data,ask,askroad);}
else if(game_id==4||game_id==5){
unitbig=bigH/8;
colbig=Math.floor(bigW/unitbig);
if(colbig%2 == 1){
colbig = colbig - 1;
}
CanvasTableNn("#canvas3",unitbig,8,colbig,data);
}
}
/////百家乐珠路
function CanvasTable(Id,unit,rows,cols,data,ask,askroad){
var width=unit*cols,
height=unit*rows;
$(Id).attr("width",width)
$(Id).attr("height",height)
var canvasId=$(Id);
var ctb=canvasId[0].getContext('2d');
ctb.lineWidth = 1;//线条宽度
ctb.strokeStyle = "#919191";//线条颜色
ctb.beginPath();
ctb.moveTo(0, 0.5);
ctb.lineTo(width, 0.5);
for (var i = 0; i <= rows; i++) {
ctb.moveTo(0, unit*i);
ctb.lineTo(width, unit*i);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.moveTo(0.5, 0);
ctb.lineTo(0.5, height);
for (var j = 1; j <= cols; j++) {
ctb.moveTo(unit*j,0);
ctb.lineTo(unit*j,height);
}
ctb.closePath()
ctb.stroke();
if(data.status){
switch(true){
// 判断是否滚动
case Id=="#canvas3":
var showRoad=data.waybill.showRoad;
if(showRoad!=''){
var roadType="showWay"
cutRoad(roadType,ctb,unit,showRoad,cols,ask,askroad.askshowroad);
}
break;
}
}
}
//龙虎珠路
function CanvasTableDt(Id,unit,rows,cols,data,ask,askroad){
var width=unit*cols,
height=unit*rows;
$(Id).attr("width",width)
$(Id).attr("height",height)
var canvasId=$(Id);
var ctb=canvasId[0].getContext('2d');
ctb.lineWidth = 1;//线条宽度
ctb.strokeStyle = "#919191";//线条颜色
ctb.beginPath();
ctb.moveTo(0, 0.5);
ctb.lineTo(width, 0.5);
for (var i = 0; i <= rows; i++) {
ctb.moveTo(0, unit*i);
ctb.lineTo(width, unit*i);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.moveTo(0.5, 0);
ctb.lineTo(0.5, height);
for (var j = 1; j <= cols; j++) {
ctb.moveTo(unit*j,0);
ctb.lineTo(unit*j,height);
}
ctb.closePath()
ctb.stroke();
if(data.status){
switch(true){
// 判断是否滚动
case Id=="#canvas3":
var showRoad=data.waybill.showRoad;
if(showRoad!=''){
var roadType="showWay"
cutRoad(roadType,ctb,unit,showRoad,cols,ask,askroad.askshowroad);
}
break;
}
}
}
//牛牛珠路
function CanvasTableNn(Id,unit,rows,cols,data){
var width=unit*cols,
height=unit*rows;
$(Id).attr("width",width)
$(Id).attr("height",height)
var canvasId=$(Id);
var ctb=canvasId[0].getContext('2d');
ctb.lineWidth = 1;//线条宽度
ctb.strokeStyle = "#919191";//线条颜色
ctb.beginPath();
ctb.moveTo(0, 0.5);
ctb.lineTo(width, 0.5);
for (var i = 0; i <= rows; i++) {
ctb.moveTo(0, unit*i);
ctb.lineTo(width, unit*i);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.moveTo(0.5, 0);
ctb.lineTo(0.5, height);
for (var j = 1; j <= cols; j++) {
ctb.moveTo(unit*j*2,0);
ctb.lineTo(unit*j*2,height);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.lineWidth = 1.5;//线条宽度
ctb.strokeStyle = "#000";//线条颜色
ctb.moveTo(0, unit*4);
ctb.lineTo(width, unit*4);
ctb.moveTo(0, unit*8);
ctb.lineTo(width, unit*8);
ctb.closePath()
ctb.stroke();
title(ctb,unit,1,1,1);
title(ctb,unit,1,2,2);
title(ctb,unit,1,3,3);
title(ctb,unit,1,4,4);
title(ctb,unit,1,5,1);
title(ctb,unit,1,6,2);
title(ctb,unit,1,7,3);
title(ctb,unit,1,8,4);
// title(ctb,unit,1,9,1);
// title(ctb,unit,1,10,2);
// title(ctb,unit,1,11,3);
// title(ctb,unit,1,12,4);
cutRoadNn(ctb,unit,data.waybill,cols);
}
// 前端路单数据截取
function cutRoad(roadType,ctb,unit,roadData,cols,ask,askroad){
var L=roadData.length;
var new_roadData=[];
var Tab=0
if(roadType=="showWay"||roadType=="bigWay"){
if(ask&&askroad){
Tab=cols;
}else{
Tab=cols-1;
}
}else{
if(ask&&askroad){
Tab=cols-1;
}else{
Tab=cols-2;
}
}
var start_x=cols/2+0.25;
if(L>=1){
var last_x=roadData[L-1].show_x
if(last_x>Tab){
var cut=last_x-Tab
$.each(roadData,function(i,v){
if(v.show_x>cut){
new_roadData.push(v)
}
})
}else{
new_roadData=roadData;
cut=0;
}
}else{
new_roadData=roadData;
cut=0;
}
$.each(new_roadData,function(i,v){
if(roadType=="showWay"){
SoloPath(ctb,unit,v.show_x-cut,v.show_y,v.result,v.pair)
}
})
}
////nn 前端路单数据截取
function cutRoadNn(ctb,unit,data,cols){
var L=data.length/4;
var new_roadData=[];
var Tab=0;
last_x = (cols/2-1)*2-1;
if(L > (cols/2-1)*2-1){
var cut = L - last_x;
$.each(data,function(i,v){
if(v.show_x>cut){
new_roadData.push(v)
}
})
$.each(new_roadData,function(i,v){
v.show_x = v.show_x - cut;
if(v.show_x<=(cols/2-1)){
if(game_id == 4){
showPath(ctb,unit,v.show_x,v.show_y,v.type,v.result,v.is_win);
}else if(game_id == 5){
showPath_tc(ctb,unit,v.show_x,v.show_y,v.type,v.result,v.is_win);
}
}else if(v.show_x<=cols-2){
if(game_id == 4){
showPath(ctb,unit,v.show_x-(cols/2)+1,v.show_y+4,v.type,v.result,v.is_win);
}else if(game_id == 5){
showPath_tc(ctb,unit,v.show_x-(cols/2)+1,v.show_y+4,v.type,v.result,v.is_win);
}
}
})
}else{
if(data){
$.each(data,function(i,v){
if(v.show_x<=(cols/2-1)){
if(game_id == 4){
showPath(ctb,unit,v.show_x,v.show_y,v.type,v.result,v.is_win);
}else if(game_id == 5){
showPath_tc(ctb,unit,v.show_x,v.show_y,v.type,v.result,v.is_win);
}
}else if(v.show_x<=cols-2){
if(game_id == 4){
showPath(ctb,unit,v.show_x-(cols/2)+1,v.show_y+4,v.type,v.result,v.is_win);
}else if(game_id == 5){
showPath_tc(ctb,unit,v.show_x-(cols/2)+1,v.show_y+4,v.type,v.result,v.is_win);
}
}
})
}
}
}
// 局数 数文字X坐标文字Y坐标文字大小风格
function Font_tie(ctb,num,Font_x,Font_y,fontsize){
if(num!==undefined){
ctb.beginPath();
ctb.font=fontsize;
ctb.textAlign = 'center';
ctb.textBaseline = 'middle';
ctb.fillStyle ="#242424";
ctb.fillText(num,Font_x,Font_y);
ctb.stroke();
}
}
function SoloPath(ctb,unit,x,y,type,corners){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000";
var radius=unit/2||0;
if(type==1){
var color='#ff002a';
var fonts="";
if(game_id==1){fonts=lang.banker;}
else if(game_id==2){ fonts=lang.dragon;}
ctb.strokeStyle = "#ff4a68";
}else if(type==2){
var color='#3a38f0';
var fonts="";
if(game_id==1){fonts=lang.player;}
else if(game_id==2){ fonts=lang.tiger;}
ctb.strokeStyle = "#7e7df6";
}else if(type==3){
var color='#44d024';
var fonts="";
if(game_id==1){fonts=lang.tie;}
else if(game_id==2){ fonts=lang.tie;}
ctb.strokeStyle = "#71df57";
}
ctb.arc(radius+unit*(x-1), radius+unit*(y-1), unit*0.45, 0, Math.PI * 2);
ctb.fillStyle=color;
ctb.fill();
ctb.font=unit*0.6+"px Arial";
ctb.fillStyle ="#fff" ; // 颜色
ctb.textAlign = 'center';
ctb.textBaseline = 'middle';
ctb.fillText(fonts,radius+unit*(x-1),radius+unit*(y-1));
ctb.stroke();
var corner_xy=unit/3.5
if(corners==1){
corner(ctb,unit,x,y,corner_xy,'#ff2202');
}else if(corners==2){
corner(ctb,unit,x,y,-corner_xy,'#0337ff');
}else if(corners==3){
corner(ctb,unit,x,y,corner_xy,'#ff2202');
corner(ctb,unit,x,y,-corner_xy,'#0337ff');
}
}
//角标
function corner(ctb,unit,x,y,corner_xy,corner_color){
var radius=unit/2
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#fff";
ctb.arc(radius+unit*(x-1)-corner_xy, radius+unit*(y-1)-corner_xy, unit*0.13, 0, Math.PI * 2);
ctb.fillStyle=corner_color;
ctb.fill();
ctb.stroke();
}
/*牛牛*/
function showPath(ctb,unit,x,y,type,result,is_win){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000";
var radius=unit/2||0;
if(type==1){
var font_color = '#b20a00';
}else{
var font_color = '#1e14d3';
}
if(result == 0){
var fonts = '无牛';
}else if(result == 1){
var fonts = '牛1';
}else if(result == 2){
var fonts = '牛2';
}else if(result == 3){
var fonts = '牛3';
}else if(result == 4){
var fonts = '牛4';
}else if(result == 5){
var fonts = '牛5';
}else if(result == 6){
var fonts = '牛6';
}else if(result == 7){
var fonts = '牛7';
}else if(result == 8){
var fonts = '牛8';
}else if(result == 9){
var fonts = '牛9';
}else if(result == 10){
var fonts = '牛牛';
}else if(result == 11){
var fonts = '五公';
}
//背景色
if(is_win == 1){
if(type == 1){
ctb.fillStyle = '#b20a00' ; // 颜色
}else{
ctb.fillStyle = '#1e14d3' ; // 颜色
}
ctb.fillRect(unit*x*2,unit*(y-0.25),unit*2,unit*0.25);
ctb.fill();
win(ctb,unit,x,y);
}
//文字
ctb.font=unit*0.45+"px Arial";//字的大小
ctb.fillStyle = font_color ; // 颜色
ctb.textAlign = 'center'; //字的位置
ctb.textBaseline = 'middle';
ctb.fillText(fonts,2*x*unit+unit,radius+unit*(y-1));
ctb.stroke();
}
/*三卡牛牛*/
function showPath_tc(ctb,unit,x,y,type,result,is_win){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000";
var radius=unit/2||0;
if(type==1){
var font_color = '#b20a00';
}else{
var font_color = '#1e14d3';
}
if(result == 1){
var fonts = '牛1';
}else if(result == 2){
var fonts = '牛2';
}else if(result == 3){
var fonts = '牛3';
}else if(result == 4){
var fonts = '牛4';
}else if(result == 5){
var fonts = '牛5';
}else if(result == 6){
var fonts = '牛6';
}else if(result == 7){
var fonts = '牛7';
}else if(result == 8){
var fonts = '牛8';
}else if(result == 9){
var fonts = '牛9';
}else if(result == 10){
var fonts = '牛牛';
}else if(result == 11){
var fonts = '豹子';
}else if(result == 12){
var fonts = '同花顺';
}else if(result == 13){
var fonts = '皇家同花顺';
}
//背景色
if(is_win == 1){
if(type == 1){
ctb.fillStyle = '#b20a00' ; // 颜色
}else{
ctb.fillStyle = '#1e14d3' ; // 颜色
}
ctb.fillRect(unit*x*2,unit*(y-0.25),unit*2,unit*0.25);
ctb.fill();
win(ctb,unit,x,y);
}
//文字
if(result == 13){
ctb.font=unit*0.38+"px Arial";//字的大小
}else{
ctb.font=unit*0.45+"px Arial";//字的大小
}
ctb.fillStyle = font_color ; // 颜色
ctb.textAlign = 'center'; //字的位置
ctb.textBaseline = 'middle';
ctb.fillText(fonts,2*x*unit+unit,radius+unit*(y-1));
ctb.stroke();
}
function win(ctb,unit,x,y){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000";
var radius=unit/2||0;
fonts = 'WIN';
ctb.font=unit*0.25+"px Arial";//字的大小
ctb.fillStyle = '#fff' ; // 颜色
ctb.textAlign = 'center'; //字的位置
ctb.textBaseline = 'middle';
ctb.fillText(fonts,2*x*unit+unit,unit*(y-0.11));
ctb.stroke();
}
function flop_position(data){
pokercard=data.round.card;
pokersrc="/static/poker/"+pokercard+".png";
$('.begincard .position-card .card').css("opacity",1);
$('.begincard .position-card .card').find(".face").css("background-image","url("+pokersrc+")");
}
function flop_card(data){
order_num = data.round.order_num;
card_cow = order_num.substring(0,1);
card_list = order_num.substring(1,2) - 1;
if(card_cow == 1){
box_name = 'player-1-card';
if(data.round.result){
$('.player_1_result').html(data.round.result);
}
}else if(card_cow == 2){
box_name = 'player-2-card';
if(data.round.result){
$('.player_2_result').html(data.round.result);
}
}else if(card_cow == 3){
box_name = 'player-3-card';
if(data.round.result){
$('.player_3_result').html(data.round.result);
}
}else if(card_cow == 4){
box_name = 'banker-card';
if(data.round.result){
$('.banker_result').html(data.round.result);
}
}
if(40<order_num){
$('.box1').css("background-color","rgba(226, 212, 71, 0.5)");
$('.box2').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box3').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box4').css("background-color","rgba(0, 0, 0, 0.5)");
}
if(10<order_num && order_num<20){
$('.box2').css("background-color","rgba(226, 212, 71, 0.5)");
$('.box1').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box3').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box4').css("background-color","rgba(0, 0, 0, 0.5)");
}
if(20<order_num && order_num<30){
$('.box3').css("background-color","rgba(226, 212, 71, 0.5)");
$('.box1').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box2').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box4').css("background-color","rgba(0, 0, 0, 0.5)");
}
if(30<order_num && order_num<40){
$('.box4').css("background-color","rgba(226, 212, 71, 0.5)");
$('.box1').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box2').css("background-color","rgba(0, 0, 0, 0.5)");
$('.box3').css("background-color","rgba(0, 0, 0, 0.5)");
}
pokercard=data.round.card;
$poker=$('.begincard '+'.'+ box_name+' .card');
pokersrc="/static/poker/"+pokercard+".png";
$poker.eq(card_list).find(".face").css("background-image","url("+pokersrc+")")
$('.begincard '+'.'+ box_name).find(".card").eq(card_list).css('opacity',1);
}
/*牛牛*/
function countDown(time, ring = false) {
if (ring) {
$(".phonering .num").html("R");
$(".phonering .grab-count").addClass("count-active");
$(".phonering").show(100).delay(9000).hide(100);
} else {
$(".countdown .num").html(time)
//$(".countdown").fadeIn();
$(".countdown").css({"opacity":1,"display":"block"});
$(".countdown .grab-count").addClass("count-active");
if(time == 10){
mp3List = ['time_tip_10.mp3'];
audioMp3(mp3List).Play();
}
if(time < 9 && time > 0){
mp3List = ['time.mp3'];
audioMp3(mp3List).Play();
}
if(time<=0){
mp3List = ['stop_2.mp3'];
audioMp3(mp3List).Play();
// $(".countdown").fadeOut();
$(".countdown").css({"opacity":0,"display":"none"});
$(".countdown .grab-count").removeClass("count-active");
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"endBet","table_id":"'+table_id+'","number_tab_id":"'+parseInt(number_tab_id)+'"}');
return;
}
}
}
function countDownRob(time) {
var table_id = $('#table_id').val();
$(".countdown .num").html(time);
$(".countdown").css({"opacity":1,"display":"block"});
$(".countdown .grab-count").addClass("count-active");
//$(".countdown").fadeIn();
if(time < 5 && time > 0){
mp3List = ['time.mp3'];
audioMp3(mp3List).Play();
}
if(time<=0){
// mp3List = ['end_rob.mp3'];
// audioMp3(mp3List).Play();
$(".countdown").css({"opacity":0,"display":"none"});
$(".countdown .grab-count").removeClass("count-active");
webSocket.send('{"connect":"space","mode":"endRob","number_tab_id":"'+parseInt(number_tab_id)+'","table_id":"'+parseInt(table_id)+'"}');
return;
}
}
function getTime() {
var today = new Date();
var h = today.getHours();
var minute = today.getMinutes()
var s = today.getSeconds();
if (h < 10) {
h = "0" + h;
}
if (minute < 10) {
minute = "0" + minute;
}
if (s < 10) {
s = "0" + s;
}
if(lang.lang == 'en-us'){
var strDate = new Date();
strDate = strDate.toDateString()
strDate += " " + h + ":" + minute + ":" + s;
}else if(lang.lang == 'zh-cn'){
var strDate = (" " + today.getFullYear() + "年" + (today.getMonth() + 1) + "月" + today.getDate() + "日" + h + ":" + minute + ":" + s);
}else if(lang.lang == 'zh-tw'){
var strDate = (" " + today.getFullYear() + "年" + (today.getMonth() + 1) + "月" + today.getDate() + "日" + h + ":" + minute + ":" + s);
}
var n_day = today.getDay();
switch (n_day) {
case 0:
var week = lang.sunday;
break;
case 1:
var week = lang.monday;
break;
case 2:
var week = lang.tuesday;
break;
case 3:
var week = lang.wednesday;
break;
case 4:
var week = lang.thursday;
break;
case 5:
var week = lang.friday;
break;
case 6:
var week = lang.saturday;
break;
case 7:
var week = lang.sunday;
break;
}
$('.date .weekend').html(week);
$('.date .time').html(strDate);
}
function zh(data)//用户将json数组对象解析成二维数组
{
var arr = [];
for(var i in data)
{
arr[i] = [];
for(var j in data[i])
{
arr[i].push(data[i][j]);
}
}
return arr;
}
function Flop(data){
var whichpoker='',pokerindex='',pokercard='';
if(data.status==true){
var which=data.round.position + '';
if(game_id==1){
switch(which){
case '11':
whichpoker='player-card';
pokerindex=1;
card_info["player_2"]=data.round.number;
break;
case '12':
whichpoker='player-card';
pokerindex=0;
//////第4张牌以后判断是否需要补牌
card_info["player_1"]=data.round.number;
break;
case '13':
whichpoker='player-card';
pokerindex=2;
card_info["player_3"]=data.round.number;
// support = isBopai(card_info);
// isShowSupport(support);
break;
case '21':
whichpoker='banker-card';
pokerindex=1;
card_info["banker_2"]=data.round.number;
break;
case '22':
whichpoker='banker-card';
pokerindex=0;
card_info["banker_1"]=data.round.number;
//support = isBopai(card_info);
// isShowSupport(support);
break;
case '23':
whichpoker='banker-card';
pokerindex=2;
// card_info=[];////最后一张清空卡数组信息
break;
}
}
else {
switch(which){
case '11':
whichpoker='player-card';
pokerindex=0;
card_info["player_1"]=data.round.number;
break;
case '12':
whichpoker='player-card';
pokerindex=1;
//////第4张牌以后判断是否需要补牌
card_info["player_2"]=data.round.number;
break;
case '13':
whichpoker='player-card';
pokerindex=2;
card_info["player_3"]=data.round.number;
// support = isBopai(card_info);
// isShowSupport(support);
break;
case '21':
whichpoker='banker-card';
pokerindex=0;
card_info["banker_1"]=data.round.number;
break;
case '22':
whichpoker='banker-card';
pokerindex=1;
card_info["banker_2"]=data.round.number;
//support = isBopai(card_info);
// isShowSupport(support);
break;
case '23':
whichpoker='banker-card';
pokerindex=2;
// card_info=[];////最后一张清空卡数组信息
break;
}
}
if(game_id==1){
support = isBopai(card_info);
isShowSupport(support);
}
pokercard=data.round.card;
var $poker=$('.begincard '+'.'+ whichpoker+' .card');
var pokersrc="/static/faces/"+pokercard+".svg";
if(pokercard<200){
var color="#000"
}else if(pokercard<300){
var color="#f13b3d"
}else if(pokercard<400){
var color="#000"
}else if(pokercard<500){
var color="#f13b3d"
}
if(data.round.number == 1){
data.round.number = "A";
}
if(data.round.number == 11){
data.round.number = "J";
}
if(data.round.number == 12){
data.round.number = "Q";
}
if(data.round.number == 13){
data.round.number = "K";
}
$poker.eq(pokerindex).find(".topleft").html(data.round.number)
$poker.eq(pokerindex).find(".bottomright").html(data.round.number)
$poker.eq(pokerindex).find(".topleft").css("color",color)
$poker.eq(pokerindex).find(".bottomright").css("color",color)
if(pokerindex==2){
$('.begincard '+'.'+ whichpoker +' .draw .rotate').css("display","inline-block")
$poker.eq(pokerindex).addClass("begin")
$poker.eq(pokerindex).find(".face").css("background-image","url("+pokersrc+")")
$(".begincard .banker-card .draw .text").css("text-align","left")
$(".begincard .player-card .draw .text").css("text-align","right")
}else{
$poker.eq(pokerindex).addClass("begin")
$poker.eq(pokerindex).find(".face").css("background-image","url("+pokersrc+")")
}
}
}
//////是否显示补牌
function isShowSupport(isSupport){
if(isSupport.is_bopai){
if(isSupport.player_3=="1"){$('.begincard .player-card .draw .rotate').css("display","inline-block")}
if(isSupport.banker_3=="1"){$('.begincard .banker-card .draw .rotate').css("display","inline-block")}
}
else {$('.begincard .player-card .draw .rotate').css("display","none")}
}
function gameResult(data){
var result_imgsrc='',Result='';
switch(true){
case data.round.opening==1:// 庄
Result='banker';
$(".begincard .card-box .banker-card").addClass("win").siblings().removeClass("win");
break;
case data.round.opening==2:// 闲
Result='player';
$(".begincard .card-box .player-card").addClass("win").siblings().removeClass("win");
break;
case data.round.opening==3:// 和
Result='tie'
break;
}
if(data.round.pair==1){
result_imgsrc=Result+'_bpair'
}else if(data.round.pair==2){
result_imgsrc=Result+'_ppair'
}else if(data.round.pair==3){
result_imgsrc=Result+'_bpair_ppair'
}else{
result_imgsrc=Result
}
var src='/static/result_img/'+result_imgsrc+'.png'
$(".begincard .player-card .draw .text ").html(lang.player_all+' '+data.round.player+' '+lang.point)
$(".begincard .banker-card .draw .text ").html(lang.banker_all+' '+data.round.banker+' '+lang.point);
$('#openingElement').show();
$('#openingElement').addClass("blink");
//$(".result_img").attr('src',src)
//$(".result_img").fadeIn()
isopentime=true;
setTimeout(function(){
$('#openingElement').removeClass("blink");
$('#openingElement').hide();
},3000)
// // 清除状态
card_info=[];///清除牌数据
setTimeout(function(){
$(".begincard .box").animate({"opacity":"0"},function(){
$(".begincard .card-box .list").removeClass("win");
$(".begincard").fadeOut(function(){ isopentime=false;});
$(".begincard .list .draw .text").css("text-align","center")
$(".begincard .box .list .card").removeClass("begin")
$(".begincard .card .topleft").html("")
$(".begincard .card .bottomright").html("");
$(".begincard .box .list .card").find(".face").css("background-image","url('/static/deal/img/faces.png')")
$(".begincard .box .list .draw .card").find(".face").css("background-image","url('/static/deal/img/faces1.png')")
$(".begincard .list .draw .rotate").css("display",'none')
$(".table-info .nobegin-tip").fadeIn();
})
},5000)
}
function gameResultNn(data){
isWin.win_player_1=data.round.win_player_1;
isWin.win_player_2=data.round.win_player_2;
isWin.win_player_3=data.round.win_player_3;
var newmp3List=[];
if(data.round.win_player_1==1){
newmp3List.push('nn_X1.wav');
isWin.text.push("闲一");
$(".begincard .box2").addClass("win");
// mp3list.push('banker_win.wav')
}
if(data.round.win_player_2==1){
newmp3List.push('nn_X2.wav');
isWin.text.push("闲二");
$(".begincard .box3").addClass("win");
}
if(data.round.win_player_3==1){
newmp3List.push('nn_X3.wav');
isWin.text.push("闲三");
$(".begincard .box4").addClass("win");
}
if(data.round.win_player_1==0&&data.round.win_player_2==0&&data.round.win_player_3==0){
newmp3List.push('nn_Zwin.wav');
isWin.text.push("庄");
$(".begincard .box1").addClass("win");
}
var str=isWin.text.length==0?'庄':isWin.text.join('、')+"赢";
$(".begincard .win-tip").html(str);
$(".begincard .win-tip").addClass("show");
mp3List=newmp3List;
audioMp3(mp3List).Play();
isopentime=true;
setTimeout(function(){
$(".begincard .win-tip").removeClass("show");isWin.text=[];
},3000);
setTimeout(function(){
$(".begincard").fadeOut(function(){
isopentime=false;
$(".begincard .box").animate({"opacity":"0"});
$(".begincard .box1").animate({"top":"100%","opacity":"0"});
$(".begincard .box2").animate({"top":"100%","opacity":"0"});
$(".begincard .box3").animate({"top":"100%","opacity":"0"});
$(".begincard .box4").animate({"top":"100%","opacity":"0"});
setBetStatus(data.round.number_tab_status);
waybillFunc();
//清空牌数据
$(".begincard div").removeClass("win");
$(".list .card .face").css("background-image","");
});
},5000);
}
function autoBet(data){
var number = $('#onlineNumber').text();
var bet_type = $('#bet_type').val();
// 只有网络投注的桌子才自动开始下注
if(bet_type == 1 || bet_type == 3){
if(data == true){
// 客户刚进来
startBet();
}else{
// 开结果之后 只有在线人数大于0时才自动开始下注
if(number > 0){
setTimeout(function(){
startBet();
},5000)
}
}
}
}
//flv 视频播放器
function playVideo(videoUrl,id) {
if(videoUrl){
if (flvjs.isSupported()){
// this.$store.commit('updateflvList',id);
var videoElement = document.getElementById(id);
window['flvPlayer'+id] = flvjs.createPlayer({
cors: true,
type: 'flv',
url: videoUrl,
hasAudio:false,
isLive:true,
hasVideo:true,
withCredentials:false,
},
{
enableWorker: false,
lazyLoadMaxDuration: 3 * 60,
seekType: 'range',
lazyLoad: false,
fixAudioTimestampGap: false,
}
);
window['flvPlayer'+id].attachMediaElement(videoElement);
window['flvPlayer'+id].load();
// window['flvPlayer'+id].play();
setTimeout(function(){
document.getElementById("loading").style.display="none";
},3000)
}
}
}