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; $(function(){ $(window).resize(function(){ waybillFunc() }) // waybillFunc() getTime(); // 滚动广告 $(".notice ul li").each(function(){ LiWidth+=$(this).innerWidth() }); $(".notice ul").append($(".notice ul").html()) var timer = setInterval(notice, 20); $(".notice").hover(function() { clearInterval(timer); },function() { timer = setInterval(notice, 20); }) // 日期 setInterval(function(){ getTime(); }, 1000); // 侧栏控台 $(".control-box").hover(function(){ $(this).stop().animate({right:"0"}) },function(){ $(this).stop().animate({right:"-410px"}) }) /* 键盘操作 */ $(document).keydown(function (e){ if(e.keyCode == 111){ startBet(); } if(e.keyCode == 96){ endBet(); } if(e.keyCode == 13){ opening(); } }) $("#confirm_update_ludan").click(function (){ retreated(); }); $("#cancel_update_ludan").click(function (){ $('#update_ludan').hide(); }); }) function close_print(){ $(".iframe-box").hide(); } var showPng = function (opening){ if(opening == 1) { $('#openingPng').attr('src','/static/console/new_img/banker.png'); mp3List = ['banker_win.mp3']; } if(opening == 2) { $('#openingPng').attr('src','/static/console/new_img/player.png'); mp3List = ['player_win.mp3']; } if(opening == 3) { $('#openingPng').attr('src','/static/console/new_img/tie.png'); mp3List = ['tie.mp3']; } audioMp3(mp3List).Play(); $('#openingElement').show().delay(3000).hide(300); } var showPng_noVoice = function (opening){ var status = $('#number_tab_status').val(); if(status == '2'){ if(opening == 1) { $('#openingPng').attr('src','/static/console/new_img/banker.png'); } if(opening == 2) { $('#openingPng').attr('src','/static/console/new_img/player.png'); } if(opening == 3) { $('#openingPng').attr('src','/static/console/new_img/tie.png'); } $('#openingElement').show(); }else{ layer.msg('开结果失败,请确认该铺是处于停止下注的状态'); } } 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=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; } audio.addEventListener("ended", nextAudio); function nextAudio(){ num+=1 if(num 0 && account != '' && online_token != ''){ webSocket.send('{"connect":"space","mode":"onlineLogin","account":"'+account+'","userid":"'+userid+'","table_id":"'+table_id+'","online_token":"'+online_token+'"}'); }else{ webSocket.close(); layer.msg('您已断开链接,请返回重新进入。'); } }; // 桌子状态 var setBetStatus = function (BetStatus){ if(BetStatus.type == 1){ $('#betstatus').html(BetStatus.msg); }else if(BetStatus.type == 2){ $('#number_tab_status').val(BetStatus.betStatus); $('#betstatus').html(BetStatus.betMsg); $('#opening_result').html(''); } }; // 获取桌子数据 var setNumberInfo = function (round){ number_tab_id=round.number_tab_id $('#boot_num').val(round.boot_num);//靴数 $('#number').val(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 getResultToatl = function (TableId,BootId){ var query = new Object(); query.table_id = TableId; query.boot_id = BootId; $.ajax({ url:'/nn/get_result_total', data:query, dataType:"json", type:"POST", async:false, success:function(data){ if(data.code == 1){ var resultToatl = data.data; $('#result_total_player').html(resultToatl.player); $('#result_total_banker').html(resultToatl.banker); } } }); }; webSocket.onmessage = function (event) { var data = $.parseJSON(event.data); var table_id = parseInt($('#table_id').val()); if(data.table_id == table_id){ if(data.sendMode == 'onlineLogin'){ if(data.status === true){ //登录成功 setNumberInfo(data.round); setBetStatus(data.round.number_tab_status); waybillFunc(); if(data.round.bet_status == 2){ $(".begincard").fadeIn(function(){ $(".begincard .box").animate({"top":"100%","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= 0){ countDown(data.countDown); }else{ layer.msg(lang[data.msg]); } }else if(data.sendMode == 'endBet'){ if(data.status === true){ setBetStatus(data.round.number_tab_status); $(".begincard").fadeIn(function(){ $(".list .card").css("opacity","0"); $(".banker_result").html(''); $(".player_1_result").html(''); $(".player_2_result").html(''); $(".player_3_result").html(''); $(".begincard .box").animate({"top":"100%","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"}); }); }else{ layer.msg(lang[data.msg]); } }else if(data.sendMode == 'toBet'){ }else if(data.sendMode == 'inCheckout'){ if(data.status === true){ setBetStatus(data.round.number_tab_status); }else{ layer.msg(lang[data.msg]); } }else if(data.sendMode == 'openingNn'){ if(data.status === true){ setNumberInfo(data.round); setBetStatus(data.round.number_tab_status); waybillFunc(); $('.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)"); setTimeout(function(){ $(".begincard").fadeOut(function(){ $(".begincard .box").animate({"top":"100%","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"}); }); },1000); }else{ layer.msg(lang[data.msg]); } }else if(data.sendMode == 'sendScanReset'){ if(data.status === true){ $(".list .card").css("opacity","0"); $(".banker_result").html(''); $(".player_1_result").html(''); $(".player_2_result").html(''); $(".player_3_result").html(''); $('.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)"); } }else if(data.sendMode == 'retreated'){ if(data.status === true){ $("#update_ludan").hide(); waybillFunc(); }else{ layer.msg(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").fadeOut(); $('.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)"); setTimeout(function(){ $(".begincard").fadeOut(function(){ $(".begincard .box").animate({"top":"100%","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"}); }); },200); } } } }; var inCheckout = function(){ layer.confirm('是否需要将桌子的状态设置为"洗牌中"?',{btn: ['确认','取消']}, function(index){ var table_id = $('#table_id').val(); webSocket.send('{"connect":"space","mode":"inCheckout","table_id":"'+parseInt(table_id)+'"}'); layer.close(index); }); } var resetBoot = function(){ layer.confirm('是否需要进行日结算?',{btn: ['确认','取消']}, 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(){ layer.confirm('是否需要进行换靴?',{btn: ['确认','取消']}, function(index){ var table_id = $('#table_id').val(); webSocket.send('{"connect":"space","mode":"changeBoot","table_id":"'+parseInt(table_id)+'"}'); layer.close(index); }); }; 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 startBet = function(){ var table_id = $('#table_id').val(); webSocket.send('{"connect":"space","mode":"startBet","number_tab_id":"'+parseInt(number_tab_id)+'","table_id":"'+parseInt(table_id)+'"}'); var betStatus=$("#number_tab_status").val(); if(betStatus==0){ mp3List = ['start.mp3']; audioMp3(mp3List).Play(); } }; var endBet = function (){ var table_id = $('#table_id').val(); webSocket.send('{"connect":"space","mode":"endBet","number_tab_id":"'+parseInt(number_tab_id)+'","table_id":"'+parseInt(table_id)+'"}'); var betStatus=$("#number_tab_status").val(); if(betStatus==1){ $(".countdown .num").html($("#wait_time").val()) $(".countdown").fadeOut(); mp3List = ['stop_2.mp3']; audioMp3(mp3List).Play(); } }; var opening = function(){ var table_id = $('#table_id').val(); $('.control-box .btn-box2 span').removeClass('on'); 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)+'"}'); }; //回档方法 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('请选择要修改的结果'); 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 confirmResult = function(id,result){ $('.control-box .btn-box2 span').eq(0).removeClass('on'); $('.control-box .btn-box2 span').eq(1).removeClass('on'); $('.control-box .btn-box2 span').eq(2).removeClass('on'); var is_on=$("#"+id).hasClass("on"); if(is_on){ $("#"+id).removeClass("on") }else{ $("#"+id).addClass("on") } showPng_noVoice(result); }; }else{ layer.msg('您的浏览器不支持WebSocket'); } // 请求所有路单数据,执行画布刷新 function waybillFunc(){ var data = new Object; data.boot_id = $('#boot_id').val(); data.game_id = $('#game_id').val(); $.ajax({ url:"/nn/waybill", type:"POST", dataType:"JSON", data:data, success:function(data){ // 将数据结果存session ludan = data; // 执行画布刷新 requestData(ludan.waybill); } }); } // 换靴时隐藏自动问路 var hiddenForecast = function(){ $('#bankerask').find('.circle').css('opacity',0); $('#bankerask').find('.round').css('opacity',0); $('#bankerask').find('.bar').css('opacity',0); $('#playerask').find('.circle').css('opacity',0); $('#playerask').find('.round').css('opacity',0); $('#playerask').find('.bar').css('opacity',0); } function requestData(data){ smallH=$(".canvas-box.small").height(); smallW=$(".canvas-box.small").width(); // 计算单位 unitsmall=smallH/12; // 计算列个数 colsmall=Math.floor(smallW/unitsmall); if(colsmall%2!=0){ colsmall=colsmall-1 } CanvasTable("#canvas1",unitsmall,12,colsmall,data); } function CanvasTable(Id,unit,rows,cols,data){ var width=unit*cols, height=unit*rows; $(Id).attr("width",width) $(Id).attr("height",height) $(Id).css("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); cutRoad(ctb,unit,data,cols); } function cutRoad(ctb,unit,data,cols){ var L=data.length/4; var new_roadData=[]; var Tab=0; last_x = (cols/2-1)*3-1; if(L > (cols/2-1)*3-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)){ showPath(ctb,unit,v.show_x,v.show_y,v.type,v.result,v.is_win) }else if(v.show_x<=cols-2){ showPath(ctb,unit,v.show_x-(cols/2)+1,v.show_y+4,v.type,v.result,v.is_win) }else if(v.show_x<=3*(cols/2)){ showPath(ctb,unit,v.show_x-cols+2,v.show_y+8,v.type,v.result,v.is_win) } }) }else{ if(data){ $.each(data,function(i,v){ if(v.show_x<=(cols/2-1)){ showPath(ctb,unit,v.show_x,v.show_y,v.type,v.result,v.is_win) }else if(v.show_x<=cols-2){ showPath(ctb,unit,v.show_x-(cols/2)+1,v.show_y+4,v.type,v.result,v.is_win) }else if(v.show_x<=3*(cols/2)){ showPath(ctb,unit,v.show_x-cols+2,v.show_y+8,v.type,v.result,v.is_win) } }) } } } 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 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 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 BigPath(ctb,unit,x,y,type,slash,corners){ ctb.beginPath(); ctb.lineWidth = 0.5; ctb.strokeStyle = "#000"; var radius=unit/2||0; if(type==1){ var color='#b20a00', fonts= lang.banker; ctb.strokeStyle = "#ff4a68"; }else if(type==2){ var color='#0543bc', fonts= lang.player; ctb.strokeStyle = "#7e7df6"; }else if(type==3){ var color='#1d8701', fonts= lang.tie; ctb.strokeStyle = "#71df57"; } ctb.arc(radius+unit*(x-1), radius+unit*(y-1), unit*0.4, 0, Math.PI * 2); ctb.fillStyle=color; ctb.fill(); ctb.font=unit*0.45+"px Arial"; ctb.fillStyle ="#fff" ; // 颜色 ctb.textAlign = 'center'; ctb.textBaseline = 'middle'; ctb.fillText(fonts,radius+unit*(x-1),radius+unit*(y-1)); ctb.stroke(); } function countDown(time) { var table_id = $('#table_id').val(); $(".countdown .num").html(time); $(".countdown").fadeIn(); 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(); webSocket.send('{"connect":"space","mode":"endBet","number_tab_id":"'+parseInt(number_tab_id)+'","table_id":"'+parseInt(table_id)+'"}'); return; } } function notice(){ if (roll == -LiWidth) { roll = 0; } roll -= 1; $(".notice .scroll").css({ left: roll }) } 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; } var strDate = (" " + today.getFullYear() + "年" + (today.getMonth() + 1) + "月" + today.getDate() + "日" + h + ":" + minute + ":" + s); var n_day = today.getDay(); switch (n_day) { case 0: var week = " 星期日 " break; case 1: var week = " 星期一 " break; case 2: var week = " 星期二 " break; case 3: var week = " 星期三 " break; case 4: var week = " 星期四 " break; case 5: var week = " 星期五 " break; case 6: var week = " 星期六 " break; case 7: var week = " 星期日 " break; } $('.date').find('p').html(strDate); $('.date').find('span').html(week); }