Pro/public/static/wapchip/js/dn/manual_canvas.js
2026-01-28 15:54:52 +08:00

461 lines
12 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 countDown = function (waitTime){
$("#second").html(waitTime);
count = waitTime;
if(waitTime == 5){
$(".play .video-box .countdown").addClass("slow");
}
}
function stopTheTime(){
audioShow('stopBet');
$(".play .video-box .countdown").removeClass("slow");
$(".countdown").hide();
$(".play .maskResult").fadeIn(100,function(){
$(".play .maskResult .item").animate({"top":"50%","opacity":"1"})
});
}
var setBetStatus = function (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);
}
};
var setNumberInfo = function (round){
$('#table_id').val(round.tid);
$('#boot_dt_id').val(round.boot_id);
$('#boot_num').html(round.boot_num);
$('#number_tab_dt_id').val(round.number_tab_id);
$('#number').html(round.number_tab_number);
};
/* 桌子为停台中获知洗牌中的页面状态 */
function Maskplay(msg = '', state = 0){
if(state == 1 || state == 2){
$('body').append('<div class="Maskplay"><span class="msgbox">'+msg+'</span>'+'</div>');
}else{
$('body').find(".Maskplay").remove();
}
}
var audio=$("#audio").get(0);
var mp3List;
var num=0;
/* 声音提示 */
var audioShow = function (statusType,result,pair,previous_number_tab_id){
if(statusType == 'startBet'){
mp3List = ['start.mp3'];
audioMp3(mp3List).Play();
}
if(statusType == 'stopBet'){
mp3List = ['stop_2.mp3'];
audioMp3(mp3List).Play();
}
if(statusType == 'openingDnResult' && result > 0){
if(result == 1){
$(".play .maskResult .banker-card").addClass("win");
mp3List = ['banker_win.mp3'];
audioMp3(mp3List).Play();
}
if(result == 2){
$(".play .maskResult .player-card").addClass("win");
mp3List = ['player_win.mp3'];
audioMp3(mp3List).Play();
}
if(result == 3){
$(".play .maskResult .tie-card").show();
mp3List = ['tie.mp3'];
audioMp3(mp3List).Play();
}
var thisResult=setTimeout(function(){
$(".play .maskResult .item").stop().animate({"top":"0","opacity":"0"},function(){
$(".play .maskResult").fadeOut(100);
$(".play .maskResult .banker-card").removeClass("win");
$(".play .maskResult .player-card").removeClass("win");
$(".play .maskResult .tie-card").hide();
})
clearTimeout(thisResult);
},2200);
setTimeout(function(){
user_bet(previous_number_tab_id);
},2300);
}
}
function audioMp3(mp3List){
var mp3=new Object();
mp3.mp3List=mp3List;
mp3.url="/static/online/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;
}
audio.addEventListener("ended", nextAudio);
function nextAudio(){
num+=1
if(num<mp3List.length){
audio.src="/static/online/mp3/"+mp3List[num];
audio.play();
}else{
audio.pause();
audio.currentTime = 0.0;
num=0;
}
}
/* 声音提示 end */
/* 获取会员输赢 */
var user_bet = function (previous_number_tab_id){
var user_id = parseInt($('#userid').val());
if(user_id > 0 && previous_number_tab_id > 0){
var query = new Object;
query.user_id = user_id;
query.number_tab_id = previous_number_tab_id;
query.table_id = TableId;
$.ajax({
url:"/dn/user_bet",
type:"POST",
dataType:"JSON",
data:query,
async:false,
success:function(data){
if(data.win_total<0){
var text_total='输了',
thatclass ='lose';
}else if(data.win_total>0){
var text_total='赢了',
thatclass ='win';
}else{
var text_total='和局',
thatclass ='tie';
}
if(data.code == 1){
var downtext="",downmoney=0;
$.each(data.data,function(i,even){
downtext+='<tr> <td>'+even.name+'</td> <td>'+even.amount+'</td> <td>'+even.win+'</td> </tr>'
downmoney=even.amount++
})
$("body").append(
'<section class="result"> '+
'<div class="box clearfix">'+
'<i class="off-btn"></i>'+
'<div class="item fl">'+
'<div class="type '+thatclass+'">'+
'<span>'+text_total+'</span>'+
'<span>'+data.win_total+'</span>'+
'</div>'+
'</div>'+
'<div class="item fr data">'+
'<table>'+
'<tr> <td></td> <td>下注</td> <td>输赢</td> </tr>'+
downtext+
'<tr> <td>总数</td> <td>'+downmoney+'</td> <td>'+data.win_total+'</td> </tr>'+
'</table> '+
'</div>'+
'</div>'+
'</section>'
)
$(".play .result").animate({"bottom":0,"opacity":1})
}
}
});
}
}
/* 声音提示 end */
var setShowBet = function (showBet){
var old_now_player = parseInt($('#now_player').html()) > 0 ? parseInt($('#now_player').html()) : 0;
var old_now_playerpair = parseInt($('#now_playerpair').html()) > 0 ? parseInt($('#now_playerpair').html()) : 0;
var old_now_tie = parseInt($('#now_tie').html()) > 0 ? parseInt($('#now_tie').html()) : 0;
var old_now_banker = parseInt($('#now_banker').html()) > 0 ? parseInt($('#now_banker').html()) : 0;
var old_now_bankerpair = parseInt($('#now_bankerpair').html()) > 0 ? parseInt($('#now_bankerpair').html()) : 0;
showBet.player_amount = showBet.player_amount > 0 ? showBet.player_amount : 0;
showBet.player_pair_amount = showBet.player_pair_amount > 0 ? showBet.player_pair_amount : 0;
showBet.tie_amount = showBet.tie_amount > 0 ? showBet.tie_amount : 0;
showBet.banker_amount = showBet.banker_amount > 0 ? showBet.banker_amount : 0;
showBet.banker_pair_amount = showBet.banker_pair_amount > 0 ? showBet.banker_pair_amount : 0;
$('#now_player').html(showBet.player_amount + old_now_player);
$('#now_playerpair').html(showBet.player_pair_amount + old_now_playerpair);
$('#now_tie').html(showBet.tie_amount + old_now_tie);
$('#now_banker').html(showBet.banker_amount + old_now_banker);
$('#now_bankerpair').html(showBet.banker_pair_amount + old_now_bankerpair);
}
var clearShowBet = function (){
$('#now_player').html('0');
$('#now_playerpair').html('0');
$('#now_tie').html('0');
$('#now_banker').html('0');
$('#now_bankerpair').html('0');
}
var getLudan = function (){
var ludan = false;
var query = new Object();
query.game_id = $('#game_id').val();
query.boot_id = $('#boot_dt_id').val();
// query.reform = 1; // 调整数据结构传参,防止显示爆格
$.ajax({
url:'/index/waybill',
data:query,
dataType:"json",
type:"POST",
async:false,
success:function(data){
ludan = data;
}
});
return ludan;
}
//庄问路
// var getLudanBanker = function(){
// var next = new Object;
// next.game_id = $('#game_id').val();
// next.boot_id = $('#boot_dt_id').val();
// next.forecast = 1;
// var returnData = false;
// $.ajax({
// url:"/index/waybill",
// type:"POST",
// dataType:"JSON",
// data:next,
// async:false,
// success:function(data){
// returnData = data;
// }
// });
// return returnData;
// }
//闲问路
// var getLudanPlayer = function(){
// var next = new Object;
// next.game_id = $('#game_id').val();
// next.boot_id = $('#boot_dt_id').val();
// next.forecast = 2;
// var returnData = false;
// $.ajax({
// url:"/index/waybill",
// type:"POST",
// dataType:"JSON",
// data:next,
// async:false,
// success:function(data){
// returnData = data;
// }
// });
// return returnData;
// }
$(function(){
$(window).resize(function(){
requestData(ludan);
})
requestData(ludan);
// 庄问路
// $(".bankerask").click(function(){
// var olddata =ludan;
// var requestdata=getLudanBanker();
// ask(requestdata,olddata)
// })
// 闲问路
// $(".playerask").click(function(){
// var olddata =ludan;
// var requestdata=getLudanPlayer();
// ask(requestdata,olddata)
// })
// 关闭结果
$(document).on("click",".result .box .off-btn",function(){
$(this).parents(".play .result").animate({"bottom":"-100%"},800,function(){
$(".play .result").remove();
})
})
$(".enlarge-btn").click(function(){
var scale=$(".video-canvas").hasClass("scale")
if(scale){
$(".video-canvas").removeClass("scale")
}else{
$(".video-canvas").addClass("scale")
}
})
})
var Unit=0,Tabheight=0,WWidth=0,TabWidth=0;
var dpr = window.devicePixelRatio
function requestData(ludan){
var Vh=$(window).height();
var videoH=$(".video-box").outerHeight(),
betH=$(".bet-box").outerHeight(),
chipH=$(".chip-box").outerHeight(),
headH=$(".head-box").outerHeight();
WWidth=$(".canvas-box").width()*dpr;
canvasH=Vh-videoH-betH-chipH-headH;
Unit=WWidth/16;
TabWidth=Unit*200
Tabheight=Unit*6;
$("#playtab").attr("width",TabWidth);
$("#playtab").attr("height",Tabheight);
$("#playtab").css("width",TabWidth/dpr);
$("#playtab").css("height",Tabheight/dpr);
CanvasTable("#playtab",Unit,Tabheight,TabWidth,ludan);
// 视频自适应
var windowHeight=$(window).height();
var mainHeight=$("#section").height();
$(".video-box").height(windowHeight-mainHeight)
}
function CanvasTable(Id,Unit,Tabheight,TabWidth,ludan){
ctb=$(Id)[0].getContext('2d');
Drawline(ctb,Unit,Tabheight,TabWidth)
if(ludan){
var _thisdata=ludan.waybill;
if(_thisdata.bigRoad!=""){
var Banker=[]
var Player=[]
$.each(_thisdata.bigRoad,function(i,n){
SoloPath(ctb,Unit,n.show_x,n.show_y,n.result);
if(n.result==1){
Banker.push(n)
}else if(n.result==2){
Player.push(n)
}
})
// 判断两者长度的X值
var Banker_lenght =Banker.length
var Player_lenght =Player.length
var max_X_B=Banker[Banker_lenght-1].show_x
var max_X_P=Player[Player_lenght-1].show_x
if(max_X_B>max_X_P&&max_X_B>=16){
$(".canvas-box").find("canvas").css("marginLeft",-(max_X_B-15)*Unit/dpr)
}
if(max_X_B<max_X_P&&max_X_P>=16){
$(".canvas-box").find("canvas").css("marginLeft",-(max_X_P-15)*Unit/dpr)
}
}
}
}
// 画线条
function Drawline(ctb,Unit,Tabheight,Tabwidth){
ctb.lineWidth = 1;//线条宽度
ctb.strokeStyle = "#777";//线条颜色
ctb.beginPath();
ctb.moveTo(0.5, 0);
ctb.lineTo(0.5, Tabheight);
for (var i = 1; i <= 100; i++) {
ctb.moveTo(Unit*i,0);
ctb.lineTo(Unit*i,Tabheight);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.moveTo(0, 0.5);
ctb.lineTo(Tabwidth, 0.5);
for (var j = 1; j <= 6; j++) {
ctb.moveTo(0,Unit*j);
ctb.lineTo(Tabwidth,Unit*j);
}
ctb.closePath()
ctb.stroke();
}
// 局数 数文字X坐标文字Y坐标文字大小风格
function Font_tie(ctb,num,Font_x,Font_y,fontsize,color){
if(num!==undefined){
ctb.beginPath();
ctb.font=fontsize;
ctb.textAlign = 'center';
ctb.textBaseline = 'middle';
ctb.fillStyle =color||"#ddd";
ctb.fillText(num,Font_x,Font_y);
ctb.stroke();
}
}
function SoloPath(ctb,unit,x,y,type,corners,game){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#fff";
var radius=unit/2||0;
if(type==1){
var color='#b20a00',
fonts='庄';
}else if(type==2){
var color='#0543bc',
fonts='闲';
}
ctb.arc(radius+unit*(x-1), radius+unit*(y-1), unit*0.44, 0, Math.PI * 2);
ctb.fillStyle=color;
ctb.fill();
ctb.font=unit*0.52+"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 ask(newdata,olddata){
// var time=8;
// var nums=setInterval(function(){
// time--;
// var num=time%2;
// if(time<0){
// clearInterval(nums);
// }else{
// if(num==1){
// ctb.clearRect(0, 0, TabWidth, Tabheight)
// CanvasTable("#playtab",Unit,Tabheight,TabWidth,newdata)
// }else{
// ctb.clearRect(0, 0, TabWidth, Tabheight)
// CanvasTable("#playtab",Unit,Tabheight,TabWidth,olddata)
// }
// }
// },200);
// }