/* 快速模式界面显示 */ var NN_UIF = NN_UIF || {}; //对应显示配置的参数 NN_UIF.config = { //是否显示洗牌动画 isShuffleCards: true, }; //隐藏游戏所有界面 NN_UIF.hide = function(){ this.game.hide(); this.deskInfo.hide(); this.show.hide(); this.anim.hide(); this.btn.hide(); this.card.hide(); this.net.hide(); this.settlement.hide(); this.gameOver.hide(); this.countDown.hide(); //提示隐藏 NN_Tips.words(); //托管图标及提示 NN_UI.trusteeshipState(); }; NN_UIF.ontime = function(gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong,/* 开启后运行多少次了 */ alltimes){ //隐藏 this.btn.ontime(gameid, spid, times, timelong, alltimes); }; //清除定时器 NN_UIF.clearTimeout = function(obj_TOId){ //清除定时器 if(typeof(obj_TOId) == "object"){ for(var sx in obj_TOId){ if(obj_TOId[sx] > -1){ clearTimeout(obj_TOId[sx]); obj_TOId[sx] = -1; } } }else if(typeof(obj_TOId) == "number"){ if(obj_TOId[sx] > -1){ clearTimeout(obj_TOId[sx]); obj_TOId[sx] = -1; } } }; //清除循环定时器 NN_UIF.clearInterval = function(obj_TOId){ //清除定时器 if(typeof(obj_TOId) == "object"){ for(var sx in obj_TOId){ if(obj_TOId[sx] > -1){ clearInterval(obj_TOId[sx]); obj_TOId[sx] = -1; } } }else if(typeof(obj_TOId) == "number"){ if(obj_TOId[sx] > -1){ clearInterval(obj_TOId[sx]); obj_TOId[sx] = -1; } } }; //牛牛界面显示 NN_UIF.draw = { //隐藏 hide: function(){ }, //ontime定时器 ontime: function(){ }, }; //游戏显示及刷新 NN_UIF.game = { //中断显示 hide: function(){ this.startWar(); this.okZhuang(); this.disbandGame(); }, //定时id _toId: { startWar: { t1: -1, t1_1: -1, t1_2: -1, t1_3: -1, t2: -1, t2_1: -1, t3: -1, t3_1: -1, }, okZhuang: { t1: -1, t2: -1, t3: -1, t3_1: -1 }, disbandGame: { t1: -1, t2: -1, } }, //开战动画标记 _isAnim_startWar: false, //游戏开战时显示 startWar: function(isFast, startType, zhuang, data){ if(startType != null){ var _time = 0; //隐藏游戏界面 this.hide(); //更新桌信息 NN_UIF.deskInfo.update(); //开战动画标记 this._isAnim_startWar = true; if(NN_Desk.nowCount == 1){ //"游戏开始"显示 _time = NN_UIF.anim.gameStart(1,1,1,isFast); } //定时显示 this._toId.startWar.t1 = setTimeout(function(){ this._toId.startWar.t1 = -1; if(NN_Desk.nowCount == 1){ //"游戏开始"隐藏 NN_UIF.anim.gameStart(); } //判断是否无限局 if(Utl.getIsInfinite() == 1){ _time = NN_UIF.anim.roundStart(1, 1, 1, isFast); } else { //第几局显示 _time = NN_UIF.anim.gamesNum(1,1,1,isFast); } //定时显示玩家抢庄按钮或确定庄 this._toId.startWar.t1_1 = setTimeout(function(){ this._toId.startWar.t1_1 = -1; //第几局隐藏 NN_UIF.anim.gamesNum(); //console.log("到第几局消失时时间差:" + ((new Date()).getTime() - NN_UI.time_start)); if(startType == 0){//抢庄 //console.log("抢庄"); NN_Desk.state = NN_state.robZhuang; NN_UIF.countDown.show(NN_Desk.timeout_m.robzhuang); NN_UIF.btn.robZhuang(1,1,1); //开战动画标记取消 this._isAnim_startWar = false; //显示玩家抢庄状态 NN_UIF.update.robZhuang(); }else if(startType == 1){//显示发牌 NN_Desk.state = NN_state.robZhuang; NN_UIF.card.dealCards(1,1,1, NN_Desk.model_fast, data.dice, data.dealorder, [0,3]); }else if(startType == 2){//显示下注 //if(data.dealCard){ //} }else if(startType == 3){//轮庄 //console.log("轮庄"); //掷骰子随机庄 _time = NN_UIF.show.rollDice(1,1,1,data.ramZhuang.robList); //console.log("掷骰子"); //定时显示庄,洗牌动画,下注按钮 this._toId.startWar.t1_2 = setTimeout(function(){ this._toId.startWar.t1_2 = -1; //显示庄,下注按钮 NN_UIF.anim.okZhuang(1, 1, 1, isFast, function(){ NN_UIF.btn.betScore(1,1,1); //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.bet); }); }.bind(this), _time); }else if(startType == 4){//房主坐庄 //console.log("房主坐庄"); //显示庄,洗牌动画,下注按钮 NN_UIF.anim.okZhuang(1, 1, 1, isFast, function(){ NN_UIF.btn.betScore(1,1,1); //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.bet); }); }else{ //console.log("其他"); } //开战动画标记 this._isAnim_startWar = false; }.bind(this), _time); }.bind(this), _time); }else {//中断显示 //清除相关定时器 NN_UIF.clearTimeout(this._toId.startWar); //隐藏动画 NN_UIF.anim.gameStart(); NN_UIF.anim.gamesNum(); //NN_UIF.anim.okZhuang(); //开战动画标记 this._isAnim_startWar = false; } }, _isAnim_okZhuang : false, //确定庄后显示流程 okZhuang: function(isView, isAnim, isSound, isFast, callbackFunc, data){ //判断是否一人抢庄 if(isView){ var _time = 0; var _robList = []; for (var i=0;i 0){ //抢庄按钮 NN_UIF.btn.robZhuang(true); } }else { //抢庄按钮 NN_UIF.btn.robZhuang(true); } //刷新所有玩家抢庄 this.robZhuang(); //显示倒计时 NN_UIF.countDown.reconnect(); break; case NN_state.bet: //下注阶段 //刷新所有玩家牌 if(NN_Desk.model == 4){ this.cards(); if(NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0){ //下注按钮 this.bet(); } }else if(NN_Desk.model == 5){ if(NN_Desk.zhuang >= 0){ this.cards(); //显示加注提示 for(var i=0;i 0){ NN_UIF.show.betScoreAgain(1,1,1,i,NN_Desk.pList[i].betScoreAgain); } } //显示下注按钮和不加注按钮 this.bet(1); }else { this.bet();//下注按钮 } }else { //下注按钮 this.bet(); } //显示倒计时 NN_UIF.countDown.reconnect(); break; case NN_state.dealCard: //发牌阶段 if(NN_RevDataRecord.dealCards != null && NN_RevDataRecord.over == -1){ //显示 NN_UIF.card.dealCards(1,1,1,NN_Desk.model_fast,NN_RevDataRecord.dealCards.dice,NN_RevDataRecord.dealCards.dealorder); if(NN_Desk.model != 5){ //下注抢庄 状态不改变 NN_Desk.state = NN_state.rubCard; } NN_RevDataRecord.over = 1; }else { //刷新所有玩家牌 this.cards(); } break; case NN_state.rubput: //搓摆牌阶段 case NN_state.rubCard: //搓 case NN_state.putCard: //摆 //刷新所有玩家牌 this.cards(); //显示倒计时 NN_UIF.countDown.reconnect(); break; case NN_state.settlement: //小局结算阶段 //刷新所有玩家牌 this.cards(); //刷新小局结算显示 this.settlement(isFast); break; case NN_state.over: //总结算阶段 //总结算 this.gameOver(); break; default: break; } //玩家计时读条 //if(NN_RevDataRecord.over != 1){//发牌阶段不显示 //NN_UI.Reconnect_CountDown(); //} //托管显示 NN_UI.trusteeshipState(true, false, NN_Desk.myseat); //牛牛状态 - 游戏中 NN_GameState = NN_State.inGame; //无序发牌按钮显示 NN_UIF.disorderDeal.showBtn(true); //console.log("结束刷新游戏界面"); } }, //桌的信息显示 roundNum : function(){ //局数 if(Utl.getIsInfinite() == 1){ //系统房间-无限局 set_self(917,37,0,0,0); set_self(918,37,0,0,0); } else { if(NN_Desk.nowCount < 10 && NN_Desk.roomtype[0] >= 10){ set_self(918,7,"第 "+NN_Desk.nowCount+"/"+NN_Desk.roomtype[0]+"局",0,0); } else if(NN_Desk.nowCount >= 10 && NN_Desk.roomtype[0] >= 10){ set_self(918,7,"第"+NN_Desk.nowCount+"/"+NN_Desk.roomtype[0]+"局",0,0); } else if(NN_Desk.nowCount < 10 && NN_Desk.roomtype[0] < 10){ set_self(918,7,"第 "+NN_Desk.nowCount+"/"+NN_Desk.roomtype[0]+" 局",0,0); } set_self(917,37,1,0,0); set_self(918,37,1,0,0); } }, //庄位置刷新 zhuang: function(){ NN_UIF.show.zhuang(true, false, false, false); }, //玩家分数刷新 playerScore : function(seat, _score){ if(seat != null && seat >= 0){//单个玩家分数更新 if(_score != null){ this.setGrade(seat,_score); }else{ this.setGrade(seat,NN_Desk.pList[seat].scores); } }else { //所有玩家分数更新 for(var i=0;i 0){//显示下注分数 NN_UIF.show.betScore(true,false,false, i, NN_Desk.pList[i].betScore); } } } }, //刷新所有玩家牌 cards: function(seat){ //NN_UIF.card. //更新牌显示及搓摆牌显示 NN_UIF.card.update(seat); }, //刷新小局结算显示 settlement: function(isFast){ //更新牌显示及搓摆牌显示 if(NN_Desk.state == NN_state.settlement && NN_RevDataRecord.settlement && NN_RevDataRecord.settlement != "" && NN_RevDataRecord.settlement.result){ NN_UIF.settlement.view(1,0,0,isFast,NN_RevDataRecord.settlement.result); NN_RevDataRecord.over = 1; } }, //刷新总结算显示 gameOver: function(){ if(NN_Desk.state == NN_state.over && NN_RevDataRecord.gameover && NN_RevDataRecord.gameover != "" && NN_RevDataRecord.over == -1){ //显示总结算 //NN_UI.gameOver(NN_RevDataRecord.gameover.scores,NN_RevDataRecord.gameover.rounds); NN_UIF.gameOver.view(1,0,0,NN_Desk.model_fast, NN_RevDataRecord.gameover.scores, NN_RevDataRecord.gameover.rounds); NN_RevDataRecord.over = 1; } }, }; //游戏桌信息 NN_UIF.deskInfo = { //隐藏 hide: function(){ this.roundNum(); this.modelIcon(); this.forceBet(); this.disorderDealBtn(); }, update: function(){ this.roundNum(true); this.modelIcon(true); this.forceBet(true); this.disorderDealBtn(true); }, //桌的信息显示 roundNum : function(isView){ if(isView){ if(Utl.getIsInfinite() == 1){ //系统房间-无限局 set_self(917,37,0,0,0); set_self(918,37,0,0,0); } else { //局数 if(NN_Desk.nowCount < 10 && NN_Desk.roomtype[0] >= 10){ set_self(918,7,"第 "+NN_Desk.nowCount+"/"+NN_Desk.roomtype[0]+"局",0,0); } else if(NN_Desk.nowCount >= 10 && NN_Desk.roomtype[0] >= 10){ set_self(918,7,"第"+NN_Desk.nowCount+"/"+NN_Desk.roomtype[0]+"局",0,0); } else if(NN_Desk.nowCount < 10 && NN_Desk.roomtype[0] < 10){ set_self(918,7,"第 "+NN_Desk.nowCount+"/"+NN_Desk.roomtype[0]+" 局",0,0); } set_self(917,37,1,0,0); set_self(918,37,1,0,0); } }else { set_self(917,37,0,0,0); set_self(918,37,0,0,0); } }, //模式图标 (星星场、比赛场) modelIcon: function(isView){ if(isView && NN_Desk.model_bean[0] == 1){ set_self(976,37,1,0,0); if(Utl.getIsInfinite() != 1){ set_self(980,7,"倍:" + NN_Desk.model_bean[2] + " 限:"+ NN_Desk.model_bean[1],0,0); set_self(980,37,1,0,0); } }else{ set_self(976,37,0,0,0); } }, //强制下注分数显示 forceBet: function(isView){ //游戏界面显示强制下注分数 if(isView && Utl.getIsInfinite() != 1 && NN_config.forceBetType != 1 && NN_config.force_bet[0] == 1 && NN_config.force_bet[2] > 0 && NN_Desk.personMax != 10){ set_self(987,7,"强制下注:" + NN_config.force_bet[2],0,0); set_self(987,37,1,0,0); } else{ set_self(987,37,0,0,0); } }, //显示无序发牌 disorderDealBtn: function(isView){ NN_UIF.disorderDeal.showBtn(isView); } }; //牛牛界面显示 NN_UIF.show = { //隐藏 hide: function(){ this.zhuang(); this.robZhuang(); this.rollDice(); this.ensureZhuang(); this.betScore(); this.betScoreAgain(); this.firstBetState(); }, //ontime定时器 ontime : function(gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong,/* 开启后运行多少次了 */ alltimes){ if(spid == 710 && this._ensureZhuangVal){ //庄背景框闪动 set_self(710,57,0,0,0); if(this._ensureZhuangVal.length == 1){ //显示庄 this._ensureZhuangVal = null; this.zhuang(1, 1, 1, NN_Desk.model_fast); //console.log("执行结束:" + ((new Date()).getTime() - NN_UI.time_start)); }else if(this._ensureZhuangVal.length > 0){ //console.log("执行间隔:" + ((new Date()).getTime() - NN_UI.time_start)); //_ensureZhuangVal.pop(); var wz = NN_SF[this._ensureZhuangVal[0][0]]; //显示庄背景框 set_self(890,18,get_self(346+wz,18)-20,0,0); set_self(890,19,get_self(346+wz,19)-20,0,0); if(wz == 0){ set_self(890,20,285,0,0); set_self(890,21,152,0,0); }else { set_self(890,20,169,0,0); set_self(890,21,218,0,0); } set_self(890,41,0,0,0); set_self(890,35,255,0,0); set_self(890,37,1,0,0); this._ensureZhuangVal.shift(); set_self(710,57,this._ensureZhuangVal[0][1],0,0); } } }, _toId: { zhuang : { t1 : -1 }, rollDice: { t1: -1, t1_1: -1, t1_2: -1, t1_3: -1 }, firstBetState: { t1 : -1 }, ensureZhuang: { t1 : -1, t2 : -1 }, betScoreAgain: { t0 : -1, t1 : -1, t2 : -1, t3 : -1, t4 : -1 }, }, //显示提示,_time为0时不定时关闭 tips: function(type, _time){ var str = ""; if(_time == null){ _time = 2000; } switch (type){ case "noBean": //未准备退出房间 str = "你的" + NN_config.beanDes + "数不足哦"; break; case "noBeanBet": //星星数不够下注 str = NN_config.beanDes + "数不够,不能下注哦"; break; case "noBeanBetFail": //星星数不够,下注失败 str = "下注失败" + NN_config.beanDes + "数不足哦"; break; case "noBeanRob": //星星数不够抢庄 str = NN_config.beanDes + "数不够,不能抢庄哦"; break; case "noBeanRobFail": //星星数不够,抢庄失败 str = "抢庄失败,"+ NN_config.beanDes +"数不够哦"; _time = 0; break; case "noBeanExit": //星星不足退出房间 str = NN_config.beanDes + "数不足,已退出房间"; _time = 0; break; case "noReadyExit": //未准备退出房间 str = "未准备超时,已退出房间"; _time = 0; break; case "zhuangNoBean": //庄星星不足 str = "庄家"+ NN_config.beanDes +"数不够哦"; _time = 3000; break; case "skipZhuang": //星星不足,跳过轮庄 str = "有玩家" + NN_config.beanDes + "数不足,跳过轮庄"; break; case "noBeanGameover": //星星不足,跳过轮庄 str = "玩家"+ NN_config.beanDes +"数不足,游戏提前结束"; _time = 0; break; case "trusteeship": //托管中 str = "托管中。。。"; break; case "Untrusteeship": //取消啊托管 str = "托管已取消"; break; case "othersNoBeanRob": //庄以外其他玩家金币不够抢庄 str = "其他玩家" + NN_config.beanDes + "都不够抢庄"; _time = 3000; break; default: break; } if (str != ""){ Utl.openTips(str, _time); } }, //显示庄图标 zhuang: function(isView, isAnim, isSound, isFast, _time){ if(isView && NN_Desk.zhuang >= 0 && NN_Desk.state != NN_state.robZhuang){ var wz = NN_SF[NN_Desk.zhuang]; var _time = 0; if(isAnim){ set_self(708,18,602,0,0); set_self(708,19,276,0,0); //显示庄背景框 set_self(890,18,get_self(346+wz,18)-20,0,0); set_self(890,19,get_self(346+wz,19)-20,0,0); if(wz == 0){ set_self(890,20,285,0,0); set_self(890,21,152,0,0); }else { set_self(890,20,169,0,0); set_self(890,21,218,0,0); } set_self(890,41,0,0,0); set_self(890,35,255,0,0); if(isFast){ //庄 set_self(708,18,get_self(346+wz,18)-20,0,0); set_self(708,19,get_self(346+wz,19)-19,0,0); set_self(708,33,150,0,0); set_self(708,35,0,0,0); set_self(708,37,1,0,0); play_ani(1,708,35,0,255,0,200,0,0,0,1,0,0); play_ani(1,708,33,150,100,0,200,0,200,0,1,0,0); //庄头像框 set_self(890,35,0,0,0); set_self(890,37,1,0,0); play_ani(1,890,35,0,255,0,200,0,200,0,1,0,0); _time = 100; //定时刷新庄位置 this._toId.zhuang.t1 = window.setTimeout(function(){ this._toId.zhuang.t1 = -1; //刷新庄背景框显示 this.zhuang(true,false,false); }.bind(this),300); }else { //if(NN_Desk.model == 4 || NN_Desk.model == 5){ //庄 /* set_self(708,18,get_self(346+wz,18)-20,0,0); set_self(708,19,get_self(346+wz,19)-19,0,0); set_self(708,33,150,0,0); set_self(708,35,0,0,0); set_self(708,37,1,0,0); play_ani(1,708,35,0,255,0,400,0,0,0,1,0,0); play_ani(1,708,33,150,100,0,400,0,400,0,1,0,0); //庄头像框 set_self(890,35,0,0,0); set_self(890,37,1,0,0); play_ani(1,890,35,0,255,0,200,0,0,0,1,0,0); _time = 100; */ //}else { set_self(708,33,400,0,0); set_self(708,35,0,0,0); set_self(708,37,1,0,0); play_ani(1,708,35,0,255,0,500,0,200,0,1,0,0); play_ani(1,708,33,400,100,0,300,0,800,0,1,0,0); play_ani(1,708,18,get_self(708,18),get_self(346+wz,18)-20,0,300,0,1000,0,1,0,0); play_ani(1,708,19,get_self(708,19),get_self(346+wz,19)-19,0,300,0,1000,0,1,0,0); //庄头像框 set_self(890,35,0,0,0); set_self(890,37,1,0,0); play_ani(1,890,35,0,255,0,300,0,1000,0,1,0,0); //定时刷新庄位置 this._toId.zhuang.t1 = window.setTimeout(function(){ this._toId.zhuang.t1 = -1; //刷新庄背景框显示 this.zhuang(true,false,false); }.bind(this),1000); _time = 1300; //} } //播放音效 if(isSound){ NN_playSound("qdz",0); } return _time; } else { set_self(708,18,get_self(346+wz,18)-20,0,0); set_self(708,19,get_self(346+wz,19)-19,0,0); set_self(708,20,75,0,0); set_self(708,21,75,0,0); set_self(708,33,100,0,0); set_self(708,35,255,0,0); set_self(708,41,0,0,0); set_self(708,37,1,0,0); //显示庄背景框 set_self(890,18,get_self(346+wz,18)-20,0,0); set_self(890,19,get_self(346+wz,19)-20,0,0); if(wz == 0){ set_self(890,20,285,0,0); set_self(890,21,152,0,0); }else { set_self(890,20,169,0,0); set_self(890,21,218,0,0); } set_self(890,41,0,0,0); set_self(890,35,255,0,0); set_self(890,37,1,0,0); } return 1; } else { NN_UIF.clearTimeout(this._toId.zhuang); play_ani(0,708,0); play_ani(0,890,0); set_self(708,37,0,0,0); set_self(890,37,0,0,0); NN_playSound("qdz",-1); return 1; } }, //玩家抢庄 robZhuang: function(isView, isAnim, isSound, seat){ if(isView && seat != null){ if(NN_Desk.pList[seat] && NN_Desk.robList[seat] != 0){ var wz = NN_SF[seat]; //位置设置 var arrLoc = [[[606,474],[999,372],[999,165],[198,165],[198,372]],[[606,474],[830,317],[830,109],[363,109],[363,317]]]; if(NN_Desk.model == 5){ set_self(784+wz,18,arrLoc[1][wz][0],0,0); set_self(784+wz,19,arrLoc[1][wz][1],0,0); }else { set_self(784+wz,18,arrLoc[0][wz][0],0,0); set_self(784+wz,19,arrLoc[0][wz][1],0,0); //看牌抢庄显示偏上 if(NN_Desk.model == 4){ set_self(784+wz,19,get_self(725+wz*5,19) - 48,0,0); } else { set_self(784+wz,19,get_self(715+wz,19) + 66,0,0); } } if(NN_Desk.myseat == seat){ //自己抢庄隐藏按钮 set_self(706,37,0,0,0); set_self(707,37,0,0,0); } if(NN_Desk.robList[seat] == 1){//抢 set_self(784+wz,43,1,0,0); set_self(784+wz,37,1,0,0); if(isSound){ NN_playSound("rob",0,Utl.getSexBySeat(seat)); } }else if(NN_Desk.robList[seat] == -1){//不抢 set_self(784+wz,43,2,0,0); set_self(784+wz,37,1,0,0); if(isSound){ NN_playSound("norob",0,Utl.getSexBySeat(seat)); } } } } else { set_group(208,37,0,0,0); if(!isSound){ NN_playSound("rob",-1); NN_playSound("norob",-1); } } }, //掷骰子动画c rollDice: function(isView, isAnim, isSound, isFast, robList, callBackFunc){ if(isView && robList){ var _time = 0; var _robList = []; for (var i=0; i< robList.length; i++) { if(robList[i] == 1){ _robList.push(i); } } //var _robList = data.ramZhuang.diceList; var wz; for(var i=0;i<_robList.length;i++){ wz = NN_SF[_robList[i]]; //丢色子动画 set_self(789+wz,37,1,0,0); if(NN_Desk.model == 4 || NN_Desk.model == 5){ if(wz == 0){ set_self(789+wz,18,535,0,0); if(NN_Desk.model == 5){ //隐藏自己的下注 NN_UIF.show.betScore(0,0,0,NN_Desk.myseat); } }else if(wz == 1 || wz == 2){ //设置色子的位置 set_self(789+wz,18,700,0,0); }else if(wz == 3 || wz == 4){ set_self(789+wz,18,370,0,0); } }else { if(wz == 0){ set_self(789+wz,18,545,0,0); }else if(wz == 1 || wz == 2){ //设置色子的位置 set_self(789+wz,18,908,0,0); }else if(wz == 3 || wz == 4){ set_self(789+wz,18,180,0,0); } } if(isFast){//快版 play_ani(1,789+wz,43,1,6,0,400,100,0,0,1,0,0); _time = 400 + 50; }else { play_ani(1,789+wz,43,1,7,0,700,100,0,0,2,0,0); _time = 700 * 2 + 100; } } if(isSound){ NN_playSound("ysz",0); } //定时显示色子点数 this._toId.rollDice.t1 = window.setTimeout(function(){ this._toId.rollDice.t1 = -1; for(var i=0;i<_robList.length;i++){ set_self(789+NN_SF[_robList[i]],37,0,0,0); //显示点数 set_self(794+NN_SF[_robList[i]]*2,18,get_self(789+NN_SF[_robList[i]],18)+18,0,0); set_self(795+NN_SF[_robList[i]]*2,18,get_self(789+NN_SF[_robList[i]],18)+110,0,0); set_self(794+NN_SF[_robList[i]]*2,43,NN_Desk.diceList[_robList[i]][0],0,0); set_self(795+NN_SF[_robList[i]]*2,43,NN_Desk.diceList[_robList[i]][1],0,0); set_self(794+NN_SF[_robList[i]]*2,37,1,0,0); set_self(795+NN_SF[_robList[i]]*2,37,1,0,0); } var _time_1 = 600; if(isFast){//快版 _time_1 = 100; } //定时显示色子点数 this._toId.rollDice.t1_1 = window.setTimeout(function(){ this._toId.rollDice.t1_1 = -1; var _spid; for(var i=0;i<_robList.length;i++){ if(_robList[i] == NN_Desk.zhuang){ _spid = 900+NN_SF[_robList[i]]; }else{ _spid = 895+NN_SF[_robList[i]]; } set_self(_spid,7,NN_Desk.diceList[_robList[i]][0] + NN_Desk.diceList[_robList[i]][1],0,0); set_self(_spid,19,get_self(789+NN_SF[_robList[i]],19)-15,0,0); if(NN_Desk.diceList[_robList[i]][0] + NN_Desk.diceList[_robList[i]][1] < 10){ set_self(_spid,18,get_self(789+NN_SF[_robList[i]],18)+76,0,0); }else { set_self(_spid,18,get_self(789+NN_SF[_robList[i]],18)+61,0,0); } set_self(_spid,20,String(get_self(_spid,7)).length*30,0,0); set_self(_spid,33,150,0,0); set_self(_spid,35,255,0,0); if(_robList[i] == NN_Desk.zhuang){ set_self(_spid,35,255,0,0); set_self(_spid,33,0,0,0); set_self(_spid,37,1,0,0); if(isFast){ //快版 play_ani(2,_spid,35,0,255,0,200,0,0,0,1,0,0); play_ani(1,_spid,33,500,150,0,200,0,200,0,1,0,0); var spid_m = _spid; this._toId.rollDice.t1_2 = window.setTimeout(function(){ this._toId.rollDice.t1_2 = -1; set_self(spid_m,35,255,0,0); set_self(spid_m,33,150,0,0); set_self(spid_m,37,1,0,0); }.bind(this),400); }else { play_ani(2,_spid,35,0,255,0,350,0,0,0,1,0,0); play_ani(1,_spid,33,500,150,0,400,0,350,0,1,0,0); var spid_m = _spid; this._toId.rollDice.t1_2 = window.setTimeout(function(){ this._toId.rollDice.t1_2 = -1; set_self(spid_m,35,255,0,0); set_self(spid_m,33,150,0,0); set_self(spid_m,37,1,0,0); }.bind(this),850); } } set_self(_spid,37,1,0,0); }; }.bind(this),_time_1); var _time_2 = 3200; if(isFast){//快版 _time_2 = 1200; } //显示下注按钮 this._toId.rollDice.t1_3 = window.setTimeout(function(){ this._toId.rollDice.t1_3 = -1; //下注抢庄-显示自己下注 if(NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].betScore > 0){ NN_UIF.show.betScore(1,0,0,NN_Desk.myseat, NN_Desk.pList[NN_Desk.myseat].betScore); } //隐藏色子 set_group(205,37,0,0,0); //显示庄,洗牌动画,下注按钮 //调用回调函数 if(callBackFunc){ callBackFunc(); } //NN_UI.okZhuang_1(); }.bind(this),_time_2); }.bind(this), _time); if(isFast){//快版 return 2000; } return 4700; }else { NN_UIF.clearTimeout(this._toId.rollDice); //隐藏色子 set_group(205,37,0,0,0); NN_playSound("ysz",-1); } }, _ensureZhuangVal : null, //快板看牌抢庄确定庄动画 ensureZhuang : function(isView, isAnim, isSound, isFast, robList, callBackFunc){ if(isView){ var _time = 2000; var _robList = []; //抢庄列表 //统计抢庄玩家列表 for (var i=0; i< robList.length; i++) { if(robList[i] == 1){ _robList.push(i); } } //统计0桌位到庄桌位的玩家 var arr_1 = []; for (var i=0; i< robList.length; i++) { if(robList[i] == 1){ arr_1.push(i); if(i == NN_Desk.zhuang){ break; } } } //获取闪动桌位列表 if(_robList.length > 0){ do{ if(!this._ensureZhuangVal){ this._ensureZhuangVal = _robList.slice(0); }else { this._ensureZhuangVal = this._ensureZhuangVal.concat(_robList.slice(0)); } }while (this._ensureZhuangVal.length + arr_1.length < 10); this._ensureZhuangVal = this._ensureZhuangVal.concat(arr_1.slice(0)); }else{ return 5; } //this._ensureZhuangVal.splice(0,this._ensureZhuangVal.length-10); //NN_UI.time_start = (new Date()).getTime(); //区分快慢版 if(isFast){ //闪动座位时加上对应闪动时间 //var a = Math.floor((2*1100)/Math.pow(this._ensureZhuangVal.length,2)); //计算递增时间增量 var addVal = Math.round((_time - 600 - 45*(this._ensureZhuangVal.length - 5)) / ((6 + this._ensureZhuangVal.length) * (this._ensureZhuangVal.length - 5) / 2 - (this._ensureZhuangVal.length - 5) * 5)); for(var i=0; i 5){ this._ensureZhuangVal[i] = [this._ensureZhuangVal[i], 40 + addVal * (i - 5)]; }else { this._ensureZhuangVal[i] = [this._ensureZhuangVal[i], 40]; } } }else{ _time = 3000; var addVal = Math.round((_time - 1000 - 100*(this._ensureZhuangVal.length - 5)) / ((6 + this._ensureZhuangVal.length) * (this._ensureZhuangVal.length - 5) / 2 - (this._ensureZhuangVal.length - 5) * 5)); for(var i=0; i 5){ this._ensureZhuangVal[i] = [this._ensureZhuangVal[i], 100 + addVal*(i-5)]; }else { this._ensureZhuangVal[i] = [this._ensureZhuangVal[i], 100]; } } } //ontime定时执行 set_self(710,57,this._ensureZhuangVal[0][1],0,0); //定时 this._toId.ensureZhuang.t1 = window.setTimeout(function(){ NN_UIF.show._toId.ensureZhuang.t1 = -1; //停止闪动 set_self(710,57,0,0,0); NN_UIF.show._ensureZhuangVal = null; // //NN_UIF.show._toId.ensureZhuang.t2 = setTimeout(function(){ //NN_UIF.show._toId.ensureZhuang.t2 = -1; //NN_UIF.show.zhuang(1,0,0); //},200); //下注抢庄-显示自己下注 if(NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].betScore > 0){ NN_UIF.show.betScore(1,0,0,NN_Desk.myseat, NN_Desk.pList[NN_Desk.myseat].betScore); } //调用回调函数 if(callBackFunc){ callBackFunc(); } }, _time); return _time; }else{ NN_UIF.clearTimeout(this._toId.ensureZhuang); // set_self(710,57,0,0,0); this._ensureZhuangVal = null; } }, //玩家下注 _betScore_btm: [[554, 413, 173], [938,315,173], [938,107,173], [184,107,173], [184,315,173]], betScore: function(isView, isAnim, isSound, seat, score){ if(isView && seat != null && score != null){ if(score <= 0){return;} var wz = NN_SF[seat], bmpPos = [], sLen = String(score).length * 30; if(score != null){ //数字显示调整 bmpPos = [this._betScore_btm[wz][0], this._betScore_btm[wz][1], this._betScore_btm[wz][2]]; if(score >= 10000){ bmpPos[2] = sLen + 30 + 25; if(wz == 0){ bmpPos[0] -= (bmpPos[2] - this._betScore_btm[wz][2])/2; }else if(wz == 1 || wz == 2){ bmpPos[0] = bmpPos[0] - (bmpPos[2] - this._betScore_btm[wz][2]); } } //背景栏 set_self(710+wz,18,bmpPos[0],0,0); set_self(710+wz,20,bmpPos[2],0,0); //数字 set_self(720+wz,7,score,0,0); set_self(720+wz,20,String(score).length * 30,0,0); set_self(720+wz,18, (bmpPos[0] + 25 + (bmpPos[2] - 25)/2) - sLen/2,0,0); //金币 set_self(715+wz,18,bmpPos[0] - 28,0,0); //显示 set_self(710+wz,37,1,0,0); //背景栏 set_self(715+wz,37,1,0,0); //金币 -11,9 set_self(720+wz,37,1,0,0); //数字 }else { set_self(710+wz,37,0,0,0); set_self(715+wz,37,0,0,0); set_self(720+wz,37,0,0,0); } if(wz == 0){ NN_Tips.words(); } if(isSound){ NN_playSound("xz"); } } else { if(seat != null){ //隐藏个人下注 set_self(720 + NN_SF[seat],7,0,0,0); set_self(720 + NN_SF[seat],20,30,0,0); set_self(710 + NN_SF[seat],37,0,0,0); set_self(715 + NN_SF[seat],37,0,0,0); set_self(720 + NN_SF[seat],37,0,0,0); } else { //全部隐藏 set_group(202,37,0,0,0); } } }, //玩家加注 betScoreAgain: function(isView, isAnim, isSound, seat, score){ if(isView && seat != null && score != null){ if(score < 0){return;} var wz = NN_SF[seat]; set_self(988+wz,19,get_self(710 + wz,19) + 6,0,0); set_self(993+wz,19,get_self(710 + wz,19) + 2,0,0); if(score > 0){ set_self(993+wz,7,score,0,0); set_self(993+wz,20,String(score).length*30,0,0); if(wz == 1 || wz == 2){ if(String(score).length > 2){ set_self(988+wz,18,get_self(715 + wz,18) - 128 - (String(score).length - 2)*30,0,0); }else{ set_self(988+wz,18,get_self(715 + wz,18) - 128,0,0); } }else { set_self(988+wz,18,get_self(710 + wz,18) + get_self(710 + wz,20) + 5,0,0); } if(String(score).length == 1 || String(score).length > 2){ set_self(993+wz,18,get_self(988+wz,18)+66,0,0); }else if(String(score).length == 2){ set_self(993+wz,18,get_self(988+wz,18)+64,0,0); } set_self(993+wz,37,1,0,0); set_self(988+wz,43,1,0,0); set_self(988+wz,37,1,0,0); }else if(score == 0){ //不加注 if(wz == 1 || wz == 2){ set_self(988+wz,18,810,0,0); } set_self(993+wz,37,0,0,0); set_self(988+wz,43,2,0,0); set_self(988+wz,37,1,0,0); }else { set_self(993+wz,37,0,0,0); set_self(988+wz,37,0,0,0); } if(wz == 0){ NN_Tips.words(); } if(isSound){ NN_playSound("xz"); } } else { if(seat != null){ //隐藏个人下注 set_self(993 + NN_SF[seat],7,0,0,0); set_self(993 + NN_SF[seat],20,30,0,0); set_self(988 + NN_SF[seat],37,0,0,0); } else { //全部隐藏 for(var i=988;i<=997;i++){ set_self(i,37,0,0,0); } } } }, //首发牌提示 firstBetState : function(isView, isAnim, isSound, seat){ if(isView && seat != null){ var wz = NN_SF[seat]; switch (wz){ case 0: set_self(893,18,553,0,0); set_self(893,19,500,0,0); break; case 1: set_self(893,18,925,0,0); set_self(893,19,398,0,0); break; case 2: set_self(893,18,925,0,0); set_self(893,19,190,0,0); break; case 3: set_self(893,18,190,0,0); set_self(893,19,190,0,0); break; case 4: set_self(893,18,190,0,0); set_self(893,19,398,0,0); break; default: break; } set_self(893,37,1,0,0); this._toId.firstBetState.t1 = window.setTimeout(function(){ this._toId.firstBetState.t1 = -1; set_self(893,37,0,0,0); }.bind(this),1000); } else { set_self(893,37,0,0,0); } }, }; //牛牛纯动画显示 NN_UIF.anim = { //隐藏 hide: function(){ this.gameStart(); this.roundStart(); this.gamesNum(); this.shuffleCards(); this.okZhuang(); this.fingerSlide(); }, //ontime定时器 ontime: function(){ }, //定时器id _toId : { //"游戏开始"动画定时 gameStart: { t1: -1 }, //回合开始 roundStart : { t1: -1 }, //"第几局"动画定时 gamesNum : { t1: -1, t1_1:-1, t1_2:-1 }, //洗牌定时 shuffleCards: { t1: -1, t2: -1 }, //确定庄 okZhuang: { t1: -1, t1_1:-1, }, }, //"游戏开始"动画 gameStart: function(isView, isAnim, isSound, isFast, type){ if(isView){//显示 var _time = 0; if(NN_Desk.nowCount == 1){ set_self(891,35,0,0,0); set_self(891,33,0,0,0); set_self(891,37,1,0,0); if(isFast){ play_ani(1,891,35,0,255,0,250,0,0,0,1,0,0); play_box(1,891,33,0,800,-2420,500); //定时隐藏 this._toId.gameStart.t1 = window.setTimeout(function(){//开始游戏隐藏 this._toId.gameStart.t1 = -1; set_self(891,35,255,0,0); set_self(891,33,100,0,0); play_ani(1,891,35,255,0,0,200,0,0,0,1,0,0); }.bind(this),1000); _time = 1200; } else { play_ani(1,891,35,0,255,0,300,0,0,0,1,0,0); play_box(1,891,33,0,600,-1200,800); //定时隐藏 this._toId.gameStart.t1 = window.setTimeout(function(){//开始游戏隐藏 this._toId.gameStart.t1 = -1; set_self(891,35,255,0,0); set_self(891,33,100,0,0); play_ani(1,891,35,255,0,0,200,0,0,0,1,0,0); }.bind(this),2000); _time = 2200; } //播放音效 if(isSound){ NN_playSound("ksyx",0); } return _time; } }else {//隐藏 NN_UIF.clearTimeout(this._toId.gameStart); set_self(891,37,0,0,0); play_ani(0,891,0); NN_playSound("ksyx",-1); } }, //回合开始 roundStart: function(isView, isAnim, isSound, isFast){ if(isView){//显示 var _time = 0; set_self(709,35,0,0,0); set_self(709,33,0,0,0); set_self(709,37,1,0,0); if(isFast){ play_ani(1,709,35,0,255,0,250,0,0,0,1,0,0); //play_box(1,709,33,0,800,-2420,500); play_box(1,709,33,0,1100,-4500,350); //定时隐藏 this._toId.roundStart.t1 = window.setTimeout(function(){//开始游戏隐藏 this._toId.roundStart.t1 = -1; set_self(709,35,255,0,0); //set_self(709,33,100,0,0); play_ani(1,709,35,255,0,0,200,0,0,0,1,0,0); }.bind(this),700); _time = 900; } else { //play_ani(1,709,35,0,255,0,300,0,0,0,1,0,0); //play_box(1,709,33,0,600,-1200,800); play_ani(1,709,35,0,255,0,250,0,0,0,1,0,0); //play_box(1,709,33,0,800,-2420,500); play_box(1,709,33,0,1200,-4050,500); //定时隐藏 this._toId.roundStart.t1 = window.setTimeout(function(){//开始游戏隐藏 this._toId.roundStart.t1 = -1; set_self(709,35,255,0,0); //set_self(709,33,100,0,0); play_ani(1,709,35,255,0,0,200,0,0,0,1,0,0); }.bind(this),2000); _time = 2500; } //播放音效 if(isSound && NN_Desk.nowCount > 1){ NN_playSound("ksyx",0); } return _time; }else {//隐藏 NN_UIF.clearTimeout(this._toId.roundStart); set_self(709,37,0,0,0); play_ani(0,709,0); NN_playSound("ksyx",-1); } }, //第几局动画 gamesNum: function(isView, isAnim, isSound, isFast){ if(isView){//显示 //设置第几局 set_self(701,18,-550,0,0); set_self(702,7,NN_Desk.nowCount,0,0); if(NN_Desk.nowCount >= 10){ set_self(702,18,get_self(701,18)+268,0,0); }else { set_self(702,18,get_self(701,18)+298,0,0); } set_self(702,19,get_self(701,19)+36,0,0); set_self(702,20,String(NN_Desk.nowCount).length*60,0,0); //第几局移动出现 set_self(702,37,1,0,0); set_self(701,37,1,0,0); set_self(702,35,255,0,0); set_self(701,35,255,0,0); var _time = 0; if(isFast){ //快板 set_self(701,18,330,0,0); if(NN_Desk.nowCount >= 10){ set_self(702,18,get_self(701,18)+268,0,0); }else { set_self(702,18,get_self(701,18)+298,0,0); } play_ani(1,701,35,0,255,0,200,0,0,0,1,0,0); play_ani(1,702,35,0,255,0,200,0,0,0,1,0,0); //定时移动隐藏第几局 this._toId.gamesNum.tl_1 = window.setTimeout(function(){ this._toId.gamesNum.tl_1 = -1; play_ani(1,701,35,255,0,0,200,0,0,0,1,0,0); play_ani(1,702,35,255,0,0,200,0,0,0,1,0,0); //定时隐藏 this._toId.gamesNum.tl_2 = window.setTimeout(function(){ this._toId.gamesNum.tl_2 = -1; //隐藏第几局 set_self(701,37,0,0,0); set_self(702,37,0,0,0); }.bind(this), 300); }.bind(this),600); _time = 900; /* play_box(1,701,18,get_self(701,18),5100,-15000,400); play_box(1,702,18,get_self(702,18),5100,-15000,400); //定时移动隐藏第几局 this._toId.gamesNum.tl_1 = window.setTimeout(function(){ this._toId.gamesNum.tl_1 = -1; play_box(1,701,18,get_self(701,18),2000,10000,400); play_box(1,702,18,get_self(702,18),5000,10000,400); //定时隐藏 this._toId.gamesNum.tl_2 = window.setTimeout(function(){ this._toId.gamesNum.tl_2 = -1; //隐藏第几局 set_self(701,37,0,0,0); set_self(702,37,0,0,0); }.bind(this), 600); }.bind(this),1000); _time = 1600; */ }else { play_box(1,701,18,get_self(701,18),3950,-9000,500); play_box(1,702,18,get_self(702,18),3950,-9000,500); //定时移动隐藏第几局 this._toId.gamesNum.tl_1 = window.setTimeout(function(){ this._toId.gamesNum.tl_1 = -1; play_box(1,701,18,get_self(701,18),1000,10000,500); play_box(1,702,18,get_self(702,18),1000,10000,500); //定时隐藏 this._toId.gamesNum.tl_2 = window.setTimeout(function(){ this._toId.gamesNum.tl_2 = -1; //隐藏第几局 set_self(701,37,0,0,0); set_self(702,37,0,0,0); }.bind(this), 1000); }.bind(this),1500); _time = 2500; } //播放音效 if(isSound){ NN_playSound("djj",0); } return _time; }else {//隐藏 NN_UIF.clearTimeout(this._toId.gameStart); set_self(702,37,0,0,0); set_self(701,37,0,0,0); play_box(0,701,0); play_box(0,702,0); NN_playSound("djj",-1); } }, //洗牌动画 shuffleCards: function(isView, isAnim, isSound, _time){ if(isView){ //显示洗牌动画 set_self(830,37,1,0,0); set_self(830,43,12,0,0); play_ani(1,830,43,0,12,0,1200,0,100,0,1,0,0); //定时再次播放洗牌动画 this._toId.shuffleCards.t1 = window.setTimeout(function(){ this._toId.shuffleCards.t1 = -1; play_ani(1,830,43,0,12,0,1200,0,0,0,1,0,0); }.bind(this), 1200); //定时隐藏 this._toId.shuffleCards.t2 = window.setTimeout(function(){ this._toId.shuffleCards.t2 = -1; set_self(830,37,0,0,0); }.bind(this), 2450); //播放音效 if(isSound){ NN_playSound("xp",0,0,120); } return 2450; } else { NN_UIF.clearTimeout(this._toId.shuffleCards); set_self(830,37,0,0,0); play_ani(0,830,0); NN_playSound("xp",-1); } }, //确定庄到下注时动画过程 okZhuang : function(isView, isAnim, isSound, isFast, callbackFunc, isNoViewZhuang){ //确定庄 if(isView){ var _time = 5; //if(NN_Desk.model != 4 && NN_Desk.model != 5){ //_time = NN_UIF.show.zhuang(1,1,1,isFast); //} if(!isNoViewZhuang){ _time = NN_UIF.show.zhuang(1,1,1,isFast); } this._toId.okZhuang.t1 = setTimeout(function(){ this._toId.okZhuang.t1 = -1; if(isFast){ //无洗牌动画 //显示下注按钮 //NN_UIF.btn.betScore(1,1,1,isFast); if(callbackFunc){ callbackFunc(); //回调函数 }else { if(Utl.getAppService()){//切后台就不显示动画 NN_UIF.btn.betScore(1,1,1,isFast); }else { NN_UIF.btn.betScore(1,0,0,isFast); } //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.bet); } //关闭确定庄动画标记 NN_UIF.game._isAnim_okZhuang = false; //开战动画标记取消 NN_UIF.game._isAnim_startWar = false; //logmessage("确定庄动画执行完全",1); } else { //洗牌动画 //console.log("洗牌"); if(NN_UIF.config.isShuffleCards){ if(NN_Desk.model == 4 || NN_Desk.model == 5){ _time = 300; }else { _time = NN_UIF.anim.shuffleCards(1,1,1, isFast); } }else { _time = 5; } this._toId.okZhuang.t1_1 = setTimeout(function(){ this._toId.okZhuang.t1_1 = -1; //关闭确定庄动画标记 NN_UIF.game._isAnim_okZhuang = false; //开战动画标记取消 NN_UIF.game._isAnim_startWar = false; //显示下注按钮 //console.log("下注按钮"); if(callbackFunc){ //回调函数 callbackFunc(); }else { //显示下注按钮 NN_UIF.btn.betScore(1,1,1); } }.bind(this), _time); } }.bind(this), _time); } else { //关闭确定庄动画标记 NN_UIF.game._isAnim_okZhuang = false; //开战动画标记取消 NN_UIF.game._isAnim_startWar = false; NN_UIF.clearTimeout(this._toId.okZhuang); NN_UIF.show.zhuang(); NN_UIF.anim.shuffleCards(); } }, //搓牌时手指滑动 fingerSlide : function(isView, isAnim, isSound){ if(isView && NN_Desk.state == NN_state.rubCard){ var x = get_self(750,18)+10; set_self(763,18,x,0,0); set_self(763,19,get_self(750,19)+74,0,0); set_self(763,37,1,0,0); set_self(763,41,0,0,0); play_ani(1,763,18,x+200,x,0,1000,0,0,0,0,0,0); }else{ play_ani(0,763,0); set_self(763,37,0,0,0); } }, }; //相关独立按钮 NN_UIF.btn = { //隐藏 hide: function(){ this.robZhuang(); this.betScore(); }, _toId: { betScore: { v1: -1, }, }, //ontime定时器 ontime: function(gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong,/* 开启后运行多少次了 */ alltimes){ switch (spid){ case 701: //下注按钮显示 if(NN_Desk.model_bet == 10){ if(get_self(892,19) <= 480){ //1~10 var y = 484; set_self(892,19,y,0,0); for (var i=0;i<5;i++) { set_self(809+i,19,y+151,0,0); set_self(814+i,19,y+65,0,0); set_self(819+i,19,y+171,0,0); set_self(824+i,19,y+86,0,0); } NN_Tips.words("bet"); set_self(701,57,0,0,0); }else { if(get_self(892,19)-480 < 15){ set_group(207,19,480-get_self(892,19),1,0); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,2,0,0); set_self(955,37,1,0,0); } }else { set_group(207,19,-15,1,0); } } }else if(NN_Desk.model_bet == 5){ //1~5 if(get_self(892,19) <= 546){ var y = 546; set_self(892,19,y,0,0); for (var i=0;i<5;i++) { set_self(809+i,19,y+75,0,0); set_self(819+i,19,y+96,0,0); } NN_Tips.words("bet"); set_self(701,57,0,0,0); }else { if(get_self(892,19)-546 < 15){ var _val1 = 546-get_self(892,19); for (var i=0;i<5;i++) { //1~5 set_self(809+i,19,_val1,1,0); set_self(819+i,19,_val1,1,0); } set_self(892,19,_val1,1,0); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,2,0,0); set_self(955,37,1,0,0); } }else { for (var i=0;i<5;i++) { //1~5 set_self(809+i,19,-15,1,0); set_self(819+i,19,-15,1,0); } set_self(892,19,-15,1,0); } } }else if(NN_Desk.model_bet == 4){ // if(get_self(892,19) <= 480){ //1~10 var y = 484; set_self(892,19,y,0,0); //按钮位置 set_self(1122,19,y + 149,0,0); set_self(1123,19,y + 149,0,0); set_self(1124,19,y + 63,0,0); set_self(1125,19,y + 63,0,0); set_self(1126,19,y + 167,0,0); set_self(1127,19,y + 167,0,0); set_self(1128,19,y + 81,0,0); set_self(1129,19,y + 81,0,0); NN_Tips.words("bet"); set_self(701,57,0,0,0); }else { if(get_self(892,19)-480 < 15){ set_group(215,19,480-get_self(892,19),1,0); set_self(892,19,480-get_self(892,19),1,0); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,2,0,0); set_self(955,37,1,0,0); } }else { set_group(215,19,-15,1,0); set_self(892,19,-15,1,0); } } }else { //1~3 if(get_self(924,19) <= 536){ set_self(924,19,536,0,0); set_self(946,19,608,0,0); set_self(947,19,608,0,0); set_self(948,19,608,0,0); NN_Tips.words("bet"); set_self(701,57,0,0,0); }else { if(get_self(924,19)-536 < 15){ set_group(214,19,536-get_self(924,19),1,0); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,2,0,0); set_self(955,37,1,0,0); } }else { set_group(214,19,-15,1,0); } } } break; default: break; } }, //抢庄按钮 robZhuang: function(isView, isAnim, isSound, isFast){ if(isView && NN_Desk.state == NN_state.robZhuang && NN_Desk.pList[NN_Desk.myseat].isReady && NN_Desk.robList[NN_Desk.myseat] == 0){ //判断星星数是否足够抢庄 if(NN_Desk.model_bean[0] == 1){ if(!NN_Desk.isBeanEnough(NN_Desk.myseat,"bet")){ //Utl.openTips(NN_config.beanDes +"数不够,不能参与游戏哦",1000); //隐藏按钮 this.robZhuang(); return; }else if(!NN_Desk.isBeanEnough(NN_Desk.myseat,"rob")){ //Utl.openTips(NN_config.beanDes + "数不够,不能抢庄哦",1000); //抢庄按钮半透明 set_self(707,35,150,0,0); }else{ set_self(707,35,255,0,0); } }else{ set_self(707,35,255,0,0); } if(NN_Desk.model == 5 || NN_Desk.model == 4){ // 下注抢庄 - 位置改变 if((NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].betScore > 0) || (NN_Desk.model == 4 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ set_self(706,18,460,0,0); set_self(706,19,322,0,0); set_self(707,18,664,0,0); set_self(707,19,322,0,0); set_self(706,37,1,0,0); set_self(707,37,1,0,0); } }else { set_self(706,18,400,0,0); set_self(706,19,395,0,0); set_self(707,18,722,0,0); set_self(707,19,395,0,0); set_self(706,37,1,0,0); set_self(707,37,1,0,0); } }else { set_self(706,37,0,0,0); set_self(707,37,0,0,0); } }, //下注按钮框 betScore: function(isView, isAnim, isSound, isFast, isNoBetBtn){ //显示下注按钮 if(isView && NN_Desk.state == NN_state.bet){ //判断玩家星星数是否可下注 if(NN_Desk.model_bean[0] == 1 && !NN_Desk.isBeanEnough(NN_Desk.myseat,"bet")){ if(NN_Desk.model != 5){ Utl.openTips(NN_config.beanDes +"数不够,不能下注哦",1000); } return 1; } if(!NN_Desk.pList[NN_Desk.myseat].isReady || (Utl.getIsInfinite() == 1 && Utl.getPlayerReadyState(NN_Desk.myseat) != 1) || (NN_Desk.model == 4 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length == 0) || (NN_Desk.model == 5 && NN_Desk.zhuang >= 0 && (NN_Desk.pList[NN_Desk.myseat].betScoreAgain > 0 || NN_Desk.pList[NN_Desk.myseat].cards.cards.length == 0))){ //看牌抢庄 - 没有牌时不显示 return 1; } if(NN_Desk.myseat != NN_Desk.zhuang && (NN_Desk.pList[NN_Desk.myseat].betScore <= 0 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0))){ set_self(892,41,0,0,0); set_self(924,41,0,0,0); if(isAnim){ if(NN_Desk.model_bet == 10){ //1~10 var y = 730; set_self(892,19,y,0,0); for (var i=0;i<5;i++) { set_self(819+i,1,555,0,0); set_self(819+i,7,i+1,0,0); set_self(824+i,1,555,0,0); set_self(824+i,7,i+6,0,0); set_self(809+i,19,y+151,0,0); set_self(814+i,19,y+65,0,0); set_self(819+i,19,y+171,0,0); set_self(824+i,19,y+86,0,0); set_self(809+i,41,1,0,0); set_self(814+i,41,1,0,0); //透明度 set_self(809+i,35,255,0,0); set_self(809+i,43,1,0,0); set_self(814+i,35,255,0,0); set_self(814+i,43,1,0,0); // set_self(819+i,41,0,0,0); set_self(824+i,41,0,0,0); } //set_group(207,35,255,0,0); set_group(207,37,1,0,0); }else if(NN_Desk.model_bet == 5){ //1~5 var y = 730; set_self(892,19,y,0,0); set_self(892,37,1,0,0); for (var i=0;i<5;i++) { //1~5 set_self(819+i,1,555,0,0); set_self(819+i,7,i+1,0,0); set_self(809+i,19,y+75,0,0); set_self(819+i,19,y+96,0,0); set_self(809+i,41,1,0,0); set_self(819+i,41,0,0,0); set_self(809+i,37,1,0,0); set_self(819+i,37,1,0,0); //透明度 set_self(809+i,35,255,0,0); set_self(809+i,43,1,0,0); set_self(814+i,37,0,0,0); set_self(824+i,37,0,0,0); } }else if(NN_Desk.model_bet == 4){ //百分比 var y = 730; set_self(892,19,y,0,0); //按钮位置 for (var i=0;i<2;i++) { set_self(1122 + i,19,y + 149,0,0); set_self(1124 + i,19,y + 63,0,0); set_self(1126 + i,19,y + 167,0,0); set_self(1128 + i,19,y + 81,0,0); set_self(1126 + i,41,0,0,0); set_self(1128 + i,41,0,0,0); } //显示 set_group(215,37,1,0,0); set_self(892,37,1,0,0); }else { //1~3 set_self(924,19,730,0,0); set_self(946,19,802,0,0); set_self(947,19,802,0,0); set_self(948,19,802,0,0); set_group(214,37,1,0,0); } //ontime定时执行显示下注栏 set_self(701,57,20,0,0); //if(NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0){ //看牌抢庄显示收展按钮 //set_self(955,43,2,0,0); //set_self(955,37,1,0,0); //} } else { //下注 if(NN_Desk.model_bet == 10){ //1~10 set_self(828,20,60,0,0); var y = 484; set_self(892,19,y,0,0); for (var i=0;i<5;i++) { set_self(809+i,19,y+151,0,0); set_self(814+i,19,y+65,0,0); set_self(819+i,19,y+171,0,0); set_self(824+i,19,y+86,0,0); // set_self(819+i,1,555,0,0); set_self(819+i,7,i+1,0,0); set_self(824+i,1,555,0,0); set_self(824+i,7,i+6,0,0); set_self(819+i,41,0,0,0); set_self(824+i,41,0,0,0); // set_self(819+i,43,1,0,0); set_self(824+i,43,1,0,0); } set_group(207,37,1,0,0); }else if(NN_Desk.model_bet == 5){ //1~5 //for(var i=1;i<=5;i++){ //set_self(818+i,7,i,0,0); //set_self(818+i,41,0,0,0); //} //set_self(828,20,60,0,0); var y = 546; set_self(892,19,y,0,0); set_self(892,37,1,0,0); for (var i=0;i<5;i++) { set_self(819+i,1,555,0,0); set_self(819+i,7,i+1,0,0); set_self(809+i,19,y+75,0,0); set_self(819+i,19,y+96,0,0); set_self(809+i,37,1,0,0); set_self(819+i,37,1,0,0); set_self(814+i,37,0,0,0); set_self(824+i,37,0,0,0); set_self(819+i,41,0,0,0); set_self(819+i,43,1,0,0); } }else if(NN_Desk.model_bet == 4){ //1~5 var y = 484; set_self(892,19,y,0,0); //按钮位置 for (var i=0;i<2;i++) { set_self(1122 + i,19,y + 149,0,0); set_self(1124 + i,19,y + 63,0,0); set_self(1126 + i,19,y + 167,0,0); set_self(1128 + i,19,y + 81,0,0); set_self(1126 + i,41,0,0,0); set_self(1128 + i,41,0,0,0); } //显示 set_group(215,37,1,0,0); set_self(892,37,1,0,0); }else { //1~3 set_self(924,19,536,0,0); set_self(946,19,608,0,0); set_self(947,19,608,0,0); set_self(948,19,608,0,0); set_group(214,37,1,0,0); } set_self(701,57,0,0,0); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,2,0,0); set_self(955,37,1,0,0); } } //下注范围值赋值及位置调整 if(NN_Desk.model_bet == 4){ for(var i=0; i<4; i++){ if(NN_Desk.pList[NN_Desk.myseat].betRange[i] != null){ set_self(1126 + i, 7, NN_Desk.pList[NN_Desk.myseat].betRange[i],0,0); set_self(1126 + i, 18, get_self(1122+i,18) + get_self(1122+i,20)/2 - String(NN_Desk.pList[NN_Desk.myseat].betRange[i]).length * 9,0,0); } } } //按钮显示 if( NN_Desk.betRange.length > 0 && NN_Desk.betRange[NN_Desk.betRange.length-1] <= NN_Desk.model_bet){ if(NN_Desk.model_bet == 5 || NN_Desk.model_bet == 10){ var temp = NN_Desk.betRange.slice(0); for (var i=0; i 0){ NN_Tips.words("betAgain"); //显示不加注按钮 if(isNoBetBtn){ set_self(956,37,1,0,0); } }else { NN_Tips.words("bet"); } } else if(NN_Desk.myseat == NN_Desk.zhuang){ NN_Tips.words("waitbet"); } return 0; }else { if(isAnim){ if(get_self(892,37) == 1 || get_self(924,37) == 1){ set_self(955,37,0,0,0); this._toId.betScore.v1 = setInterval(function(){ if(NN_Desk.model_bet == 10){ //1~10 if(get_self(892,19) >= 730){ set_group(207,37,0,0,0); clearInterval(NN_UIF.btn._toId.betScore.v1); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,1,0,0); set_self(955,37,1,0,0); } }else{ set_group(207,19,15,1,0); } }else if(NN_Desk.model_bet == 5){ //1~5 if(get_self(892,19) >= 730){ set_group(207,37,0,0,0); clearInterval(NN_UIF.btn._toId.betScore.v1); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,1,0,0); set_self(955,37,1,0,0); } }else{ for (var i=0;i<5;i++) { set_self(809+i,19,15,1,0); set_self(819+i,19,15,1,0); } set_self(892,19,15,1,0); } }else if(NN_Desk.model_bet == 4){ //百分比 if(get_self(892,19) >= 730){ set_self(892,37,0,0,0); set_group(215,37,0,0,0); clearInterval(NN_UIF.btn._toId.betScore.v1); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,1,0,0); set_self(955,37,1,0,0); } }else{ set_group(215,19,15,1,0); set_self(892,19,15,1,0); } }else if(NN_Desk.model_bet == 3){ //1~3 if(get_self(924,19) > 730){ set_group(214,37,0,0,0); clearInterval(NN_UIF.btn._toId.betScore.v1); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 0)){ //看牌抢庄显示收展按钮 set_self(955,43,1,0,0); set_self(955,37,1,0,0); } }else { set_group(214,19,15,1,0); } } },15); } //看牌抢庄显示收展按钮 set_self(955,37,0,0,0); set_self(956,37,0,0,0); }else { set_self(956,37,0,0,0); set_self(701,57,0,0,0); set_group(207,37,0,0,0); set_group(214,37,0,0,0); set_group(215,37,0,0,0); //看牌抢庄显示收展按钮 set_self(955,37,0,0,0); } } }, }; //牛牛牌相关显示 NN_UIF.card = { //隐藏 hide: function(){ this.showBySeat();//牌 this.dealCards(); this.dealCard_seat(); this.rubCard(); this.putCard(); this.cardTypeReward(); }, //ontime定时器 ontime: function(){ }, _toId: { //发牌 dealCards:{ t1: -1, t2: -1, t2_1: -1, t3: -1 }, //发牌-座位 dealCard_seat: { p0_1: -1, p0_2: -1, p1_1: -1, p1_2: -1, p2_1: -1, p2_2: -1, p3_1: -1, p3_2: -1, p4_1: -1, p4_2: -1 }, dealCards_iv:{ i1: -1 }, //搓牌 - 格式p0_1 , p[座位] rubCard : { //t1: -1, //t2: -1, p0_1: -1, p0_2: -1, p1_1: -1, p1_2: -1, p2_1: -1, p2_2: -1, p3_1: -1, p3_2: -1, p4_1: -1, p4_2: -1 }, //摆牌 - 格式p0_1 , p[座位] putCard:{ p0_1: -1, p0_2: -1, p1_1: -1, p1_2: -1, p2_1: -1, p2_2: -1, p3_1: -1, p3_2: -1, p4_1: -1, p4_2: -1 }, //摆牌1 - 格式p0_1 , p[座位] putCard_1:{ p0_1: -1, p1_1: -1, p2_1: -1, p3_1: -1, p4_1: -1 } }, //更新牌显示及搓摆牌显示 update: function(seat, isAnim, isSound, isFast){ if(seat != null){ if (NN_Desk.pList[seat] && NN_Desk.pList[seat].cards.cards.length == 5){ //显示牌 this.showBySeat(true, isAnim, isSound, seat); if(NN_Desk.state == NN_state.settlement){ //结算时显示牌型 this.putCard(true, false, false, isFast, seat); //console.log("刷新结算时玩家"+seat+"的牌"); }else { //显示搓摆牌状态 this.updateByState(seat, isAnim, isSound); //console.log("刷新搓摆牌玩家"+seat+"的牌"); } } } else { for(var i=0;i= 0){ NN_UIF.countDown.show(NN_Desk.timeout_m.betAgain); }else{ NN_UIF.countDown.show(NN_Desk.timeout_m.robzhuang); } }else { NN_Desk.state = NN_state.rubCard; //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.rubput); } }else{ NN_Desk.state = NN_state.rubCard; //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.rubput); } //发牌结束标记 NN_Judge.isDealCards = -1; //显示无序发牌 if(NN_UIF.disorderDeal.isView){ NN_UIF.disorderDeal.show(true); } },400 + (deal_order.length - 1) * 100 + 100); //console.log("显示快版发牌动画"); }else { //正常发牌 //先掷色子 var _time = 500; if(NN_Desk.model != 4 && NN_Desk.model != 5){ //看牌抢庄跳过掷骰子 _time = 3400; set_self(804,37,1,0,0); play_ani(1,804,43,1,7,0,700,0,0,0,1,0,0); this._toId.dealCards.t1 = window.setTimeout(function(){ this._toId.dealCards.t1 = -1; play_ani(1,804,43,2,7,0,600,0,0,0,1,0,0); }.bind(this), 800); if(isSound){ //色子音效 NN_playSound("ysz",0); } //定时显示色子点数 this._toId.dealCards.t2 = window.setTimeout(function(){ this._toId.dealCards.t2 = -1; //显示色子点数 set_self(804,37,0,0,0); set_self(805,43,dice_num[0],0,0); set_self(806,43,dice_num[1],0,0); set_self(805,37,1,0,0); set_self(806,37,1,0,0); //首发牌提示 NN_UIF.show.firstBetState(isView, isAnim, isSound, dealcardlist[0][0]); // this._toId.dealCards.t2_1 = window.setTimeout(function(){ this._toId.dealCards.t2_1 = -1; set_self(805,37,0,0,0); set_self(806,37,0,0,0); NN_UIF.show.firstBetState(); }.bind(this),1000); }.bind(this), 1450); //显示牌堆 set_self(829,19,-117,0,0); set_self(829,37,1,0,0); play_ani(1,829,19,-117,0,0,400,0,2700,0,1,0,0); }else { //显示牌堆 set_self(829,19,-117,0,0); set_self(829,37,1,0,0); play_ani(1,829,19,-117,0,0,400,0,0,0,1,0,0); } //发牌座位列表 var dealcardlist = []; for(var i=arr_sheet[0]; i<=arr_sheet[1]; i++){ for(var j=0;j 0){ //显示发牌 this.dealCard_seat(isView, isAnim, isSound, isFast, dealcardlist[0][0], dealcardlist[0][1]); dealcardlist.shift(); }else { window.clearInterval(this._toId.dealCards_iv.i1); this._toId.dealCards_iv.i1 = -1; //发完牌后显示前三张牌 for(var i=0;i 0 || NN_Desk.myseat == NN_Desk.zhuang){ //搓牌牌背 //NN_Desk.state = NN_state.rubCard; //NN_UI.rubPutUI(NN_Desk.myseat, false, false); //NN_UIF.card.update(NN_Desk.myseat, true, true, isFast); //for(var j=3;j<5;j++){ //set_self(725+j,43,NN_toCardImg(NN_Desk.pList[NN_Desk.myseat].cards.cards[j]),0,0); //} //} /* //刷新牌位置显示 this._toId.dealCards.t3_1 = window.setTimeout(function(){ this._toId.dealCards.t3_1 = -1; NN_Tips.words(); for(var i=0;i 1)){ set_self(774+wz,18,get_self(764+wz,18)+30,0,0); set_self(774+wz,19,get_self(764+wz,19)+2,0,0); } break; } //显示牌型图标 set_self(774+wz,37,1,0,0); //倍数显示 if(NN_Desk.pList[seat].cards.type != "wn"){ if((NN_Desk.model_mult == 1 && NN_Desk.pList[seat].cards.Multiple > 1) || ((NN_Desk.model_mult == 2 || NN_Desk.model_mult == 3) && NN_Desk.pList[seat].cards.Multiple >= 1)){ //倍数值 set_self(982+wz,7,NN_Desk.pList[seat].cards.Multiple,0,0); set_self(982+wz,20,String(NN_Desk.pList[seat].cards.Multiple).length * 28,0,0); set_self(982+wz,21,40,0,0); set_self(982+wz,37,1,0,0); //倍 set_self(779+wz,18,get_self(982+wz,18) + get_self(982+wz,20) - 2,0,0); set_self(779+wz,19,get_self(982+wz,19) - 2,0,0); set_self(779+wz,37,1,0,0); } } //牌型缩放 if(isAnim){ play_ani(1,774+wz,33,80,120,0,200,0,0,0,1,0,0); }else { set_self(774+wz,33,100,0,0); } this._toId.putCard_1["p" + seat + "_1"] = window.setTimeout(function(){ this._toId.putCard_1["p" + seat + "_1"] = -1; if(isAnim){ play_ani(1,774+wz,33,120,100,0,200,0,0,0,1,0,0); } //牌型奖励显示 if(seat == NN_Desk.myseat){ NN_UIF.card.cardTypeReward(true,isAnim, isSound, NN_Desk.pList[seat].cards.type); } }.bind(this),200); //音效播放 if((isSound && NN_Desk.state != NN_state.over) || NN_Desk.pList[seat].putcard != 1){ NN_playSound(NN_Desk.pList[seat].cards.type,0,Utl.getSexBySeat(seat)); NN_Desk.pList[seat].putcard = 1; } //NN_UI.cardTypeAnim(seat,NN_Desk.pList[seat].cards.type); //判断全部摆玩牌 var blist = NN_Desk.betList.slice(0); blist.push(NN_Desk.zhuang); for(var i=0;i 0){ set_self(1110,7,num,0,0); set_self(1110,20,String(num).length * 29,0,0); set_self(1110,18,get_self(1109,18) + 197 - String(num).length * 14,0,0); //背光旋转 play_ani(1,1107,34,0,360,0,3000,0,0,0,0,0,0); if(isAnim){ play_ani(1,1108,33,80,100,0,500,0,0,0,1,0,0); play_ani(1,1111,33,80,100,0,500,0,0,0,1,0,0); }else { set_self(1108,33,100,0,0); set_self(1111,33,100,0,0); } if(isSound){ NN_playSound("typeReward",0,1); } set_group(213,37,1,0,0); } }else { play_ani(0,1107,0); play_ani(0,1108,0); play_ani(0,1111,0); set_self(1110,43,0,0,0); set_group(213,37,0,0,0); } }, }; //无序发牌显示 NN_UIF.disorderDeal = { //5人局配置 interval_5: 24, //牌间隔 posY_5: 67, //Y轴位置 size_5: [45, 62], //尺寸 udInterval_5: 3, //上下间隔 rowMaxCount_5: 13, //每行最大显示 bgpSX_5: [468, 72, 344, 138], //背景属性 //10人局配置 interval_10: 17.5, //牌间隔 posY_10: 67, //Y轴位置(相对背景框) size_10: [45, 62], //尺寸 udInterval_10: 3, //上下间隔 rowMaxCount_10: 25, // bgpSX_10: [401, 186, 478, 138], //是否显示 isView: false, drawData: [], //显示按钮 showBtn: function(isView){ if(isView && NN_Desk.isDisorderDeal){ set_self(1113, 37, 1, 0, 0); if(NN_UIF.disorderDeal.isView){ set_self(1113,43,1,0,0); }else { set_self(1113,43,2,0,0); } this.show(1); }else{ set_self(1113, 37, 0, 0, 0); this.show(); } }, //显示 show: function(isView, isAnim, isSound){ if(isView && NN_Desk.isDisorderDeal && NN_Desk.disorderDealCards.length && NN_UIF.disorderDeal.isView){ //显示牌转换具体绘画数据 this.drawData = []; var ddCards = NN_Desk.disorderDealCards; var bos_w = 0; var cardStart_x = 0; var cardStart_y = 0; var rowMaxCount = 0; var cardSize = []; var udInterval = []; var interval = 0; var bgpSX = []; // if(NN_Desk.personMax == 10){ //10 rowMaxCount = this.rowMaxCount_10; cardSize = this.size_10; udInterval = this.udInterval_10; interval = this.interval_10; bgpSX = this.bgpSX_10; bos_w = bgpSX[2]; if(ddCards.length <= this.rowMaxCount_10){ cardStart_x = bos_w / 2 - (this.interval_10 * (ddCards.length - 1) + this.size_10[0]) / 2; cardStart_y = this.posY_10 - this.size_10[1] / 2; }else { cardStart_x = bos_w / 2 - (this.interval_10 * (rowMaxCount - 1) + this.size_10[0]) / 2; cardStart_y = this.posY_10 - this.size_10[1] + this.udInterval_10 / 2; } }else { //5人 rowMaxCount = this.rowMaxCount_5; cardSize = this.size_5; udInterval = this.udInterval_5; interval = this.interval_5; bgpSX = this.bgpSX_5; bos_w = bgpSX[2]; if(ddCards.length <= this.rowMaxCount_5){ cardStart_x = bos_w / 2 - (this.interval_5 * (ddCards.length - 1) + this.size_5[0]) / 2; cardStart_y = this.posY_5 - this.size_5[1] / 2; }else { cardStart_x = bos_w / 2 - (this.interval_5 * (rowMaxCount - 1) + this.size_5[0]) / 2; cardStart_y = this.posY_5 - this.size_5[1] + this.udInterval_5 / 2; } } // for(var i = 0; i < ddCards.length; i ++){ if(ddCards.length <= rowMaxCount){ this.drawData[i] = [cardStart_x + interval * i, cardStart_y, cardSize[0], cardSize[1], (ddCards[i] % 11) * 130, parseInt(ddCards[i] / 11) * 176]; }else { if(i < rowMaxCount){ this.drawData[i] = [cardStart_x + interval * i, cardStart_y, cardSize[0], cardSize[1], (ddCards[i] % 11) * 130, parseInt(ddCards[i] / 11) * 176]; }else { this.drawData[i] = [cardStart_x + interval * (i - rowMaxCount), cardStart_y + cardSize[1] + udInterval, cardSize[0], cardSize[1], (ddCards[i] % 11) * 130, parseInt(ddCards[i] / 11) * 176]; } } } if(this.drawData.length > 0 && get_self(1115, 37) != 1){ this.isDraw = true; } //set_self(1113,43,1,0,0); set_self(1114,18,bgpSX[0],0,0); set_self(1114,19,bgpSX[1],0,0); set_self(1114,20,bgpSX[2],0,0); set_self(1114,21,bgpSX[3],0,0); set_self(1114,37,1,0,0); }else { this.isDraw = false; //set_self(1113,43,2,0,0); set_self(1114,37,0,0,0); set_self(1115, 37, 0, 0, 0); } }, //画牌显示 isDraw: false, draw_disoDeal: function(gameid, spid, times, timelong){ if(spid == 1114 && NN_Desk.disorderDealCards.length > 0){ for(var i = 0; i < this.drawData.length; i ++){ ifast_mydrawbmp(spid, 515, this.drawData[i][0], this.drawData[i][1], this.drawData[i][2], this.drawData[i][3], this.drawData[i][4], this.drawData[i][5], 130, 176); } } }, //隐藏 hide: function(){ this.show(); this.showBtn(); }, }; //玩家操作时显示 NN_UIF.net = { //隐藏 hide: function(){ //清除定时器 if(this._toId.okZhuang > 0){ //logmessage("清除定时器-确定庄包后定时",1); } NN_UIF.clearTimeout(this._toId.okZhuang); NN_UIF.clearTimeout(this._toId.dealCards); NN_UIF.clearTimeout(this._toId.settlement); // }, //ontime定时器 ontime: function(){ }, //定时器id _toId: { okZhuang: { t1: -1 }, dealCards: { t1: -1 }, settlement:{ t1: -1 }, }, //准备阶段 readyStage: function(){ //隐藏界面 NN_UIF.hide(); //托管显示 NN_UI.trusteeshipState(true, false, NN_Desk.myseat); //更新桌信息显示 NN_UIF.deskInfo.update(); //准备按钮显示 //Utl.setPlayerPrepare(NN_Desk.myseat, Utl.getPlayerReadyState(NN_Desk.myseat)); //Utl.setDeskStage(0); //显示倒计时 NN_UIF.countDown.show(NN_Desk.timeout_m.ready); }, //开战 startWar: function(startType, zhuang, data){ //隐藏界面 NN_UIF.hide(); //托管显示 NN_UI.trusteeshipState(true, false, NN_Desk.myseat); //更新桌信息显示 NN_UIF.deskInfo.update(); //游戏开战时显示 NN_UIF.game.startWar(NN_Desk.model_fast, startType, zhuang, data); }, //抢庄 robZhuang: function(seat, isrob){ //在开局动画过程中其他玩家抢庄不显示 if(!NN_UIF.game._isAnim_startWar){ NN_UIF.show.robZhuang(1,1,1, seat, isrob); } }, //确定庄 okZhuang: function(data){ //隐藏其他定时操作 this.hide(); //隐藏开战 NN_UIF.game.startWar(); //隐藏抢庄按钮 NN_UIF.btn.robZhuang(); //logmessage("收到确定庄包后定时",1); //延迟显示 this._toId.okZhuang.t1 = setTimeout(function(){ this._toId.okZhuang.t1 = -1; //隐藏玩家抢庄状态 NN_UIF.show.robZhuang(0,0,1); //显示确定庄后显示 var callbackFunc = function(){ if(NN_Desk && NN_Desk.state != NN_state.over){ //if(NN_Desk.model == 5){ //下注抢庄 //console.log("发牌4张:" + ((new Date()).getTime() - NN_UI.time_start)); //显示发最后一张牌 //NN_UIF.card.dealCards(1,1,1, NN_Desk.model_fast, [], data.dealorder, [4,4]); //NN_Desk.state = NN_state.rubCard; if(NN_Desk.model == 5){ NN_UIF.show.betScore(0,0,0, NN_Desk.zhuang); //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.betAgain); //显示下注按钮 NN_UIF.btn.betScore(1,1,1,NN_Desk.model_fast,1); }else{ //显示计时闹钟 NN_UIF.countDown.show(NN_Desk.timeout_m.bet); //显示下注按钮 NN_UIF.btn.betScore(1,1,1); } } }; NN_UIF.game.okZhuang(1,1,1,NN_Desk.model_fast, callbackFunc, data); NN_Desk.state = NN_state.bet; //logmessage("确定庄动画",1); }.bind(this),500); if(NN_Desk.model == 4 || (NN_Desk.model == 5 && NN_Desk.model_fast == 1)){ //优化-刷新牌显示 NN_UIF.card.update(); } //下注抢庄 - 隐藏庄的下注 //if(NN_Desk.model == 5){ //NN_Desk.state = NN_state.rubCard;//搓牌状态 //NN_UIF.show.betScore(0,0,0, NN_Desk.zhuang); //} }, //玩家下注 betScore: function(seat, score, score2){ //显示下注分数 if(!NN_UIF.game._isAnim_okZhuang){ //确定庄动画中不显示 NN_UIF.show.betScore(1,1,1,seat,score); //加注提示 if(NN_Desk.model == 5 && NN_Desk.zhuang >= 0 && score2 != null){ NN_UIF.show.betScoreAgain(1,1,1,seat,score2); } } //隐藏下注栏 if(seat == NN_Desk.myseat){ NN_UIF.btn.betScore(); } }, //发牌 dealCards: function(dice, dealorder){ //优化-隐藏抢庄按钮 NN_UIF.btn.robZhuang(); //优化-隐藏玩家抢庄状态 NN_UIF.show.robZhuang(); //优化-刷新玩家的下注 NN_UIF.update.betScore(); //优化-更新庄显示 NN_UIF.update.zhuang(); //if(NN_Desk.model_fast != 1){//优化-正常版-停止确定庄动画 //NN_UIF.game.startWar(); //} //隐藏其他定时操作 this.hide(); //隐藏下注栏 NN_UIF.btn.betScore(); //隐藏提示文字 NN_Tips.words(); //隐藏玩家计时 NN_UI.setCountDown(); NN_UIF.countDown.hide(); NN_UIF.card._isDealCards = false; //显示发牌 this._toId.dealCards.t1 = window.setTimeout(function(){ this._toId.dealCards.t1 = -1; if(NN_Desk.model == 4){ //看牌抢庄-发最后一张牌 NN_UIF.card.dealCards(1,1,1, NN_Desk.model_fast, dice, dealorder, [4,4]); NN_Desk.state = NN_state.rubCard; }else if(NN_Desk.model == 5){ if(NN_Desk.zhuang >= 0){ //隐藏加注提示 NN_UIF.show.betScoreAgain(); //显示发最后一张牌 NN_UIF.card.dealCards(1,1,1, NN_Desk.model_fast, [], dealorder, [4,4]); NN_Desk.state = NN_state.rubCard; NN_UIF.show.betScore(0,0,0, NN_Desk.zhuang); }else { NN_Desk.state = NN_state.robZhuang; NN_UIF.card.dealCards(1,1,1, NN_Desk.model_fast, dice, dealorder, [0,3]); } }else { NN_UIF.card.dealCards(1,1,1, NN_Desk.model_fast, dice, dealorder); NN_Desk.state = NN_state.rubCard; } }.bind(this),1000); }, //搓牌 rubCard: function(seat, cardloc, card){ if(!NN_UIF.card._isDealCards && this._toId.dealCards.t1 <= 0){ //发牌动画时不显示 NN_UIF.card.rubCard(1,1,1,NN_Desk.model_fast, seat, cardloc,card); } }, //摆牌 putCard: function(seat){ if(!NN_UIF.card._isDealCards && this._toId.dealCards.t1 <= 0){ //发牌动画时不显示 //自己为特殊牌型时不显示 var _type = NN_Desk.pList[seat].cards.type; if(_type != "bigbomb" && _type != "bomb" && _type != "flush" && _type != "wuhua" && _type != "wuxiao" && _type != "hulu" && _type != "tonghua" && _type != "shunzi"){//是否为特殊牌型 //摆牌 - 对应座位 NN_UIF.card.putCard(1,1,1, NN_Desk.model_fast, seat); } } }, //全部搓摆牌 putAllCard: function(){ //隐藏其他定时操作 this.hide(); //关闭读条 NN_UI.setCountDown(); NN_UIF.countDown.hide(); //关闭手指滑动 NN_UIF.anim.fingerSlide();//关闭手指滑动 //关闭玩家的搓摆牌 NN_UIF.card.rubCard(); NN_UIF.card.putCard(); NN_UIF.card.putCard_1(); //显示所有玩家牌型 NN_UIF.card.putAllCard(1,1,1,NN_Desk.model_fast); }, //结算 settlement: function(result){ //隐藏其他定时操作 this.hide(); //关闭手指滑动 NN_UIF.anim.fingerSlide();//关闭手指滑动 //关闭读条 NN_UI.setCountDown(); NN_UIF.countDown.hide(); //隐藏 - 搓摆牌及确定图片 set_group(203,37,0,0,0); //更新庄显示 NN_UIF.update.zhuang(); var _time = 1600; if(NN_Desk.model_fast != 1){ _time = 2500; } //定时显示结算 this._toId.settlement.t1 = window.setTimeout(function(){ NN_UIF.net._toId.settlement.t1 = -1; //优化-刷新牌显示 NN_UIF.card.update(); NN_UIF.settlement.view(1,1,1,NN_Desk.model_fast, result); }.bind(this),_time); }, //游戏结束-总结算 gameOver: function(scores, rounds){ var bigWiner = -1; bigWiner = NN_UIF.gameOver.view(1,1,1,NN_Desk.model_fast, scores, rounds); //大赢家调用接口 if(bigWiner == 1){ Utl.typeForActivity(1,null); } NN_Desk.state = NN_state.over; }, //解散 disbandGame: function(data){ NN_UIF.game.disbandGame(1,1,1,NN_Desk.model_fast, data); }, //玩家准备 ready : function(seat){ if(NN_Desk.pList[seat]){ NN_Desk.pList[seat].isReady = 1; } if(seat == NN_Desk.myseat){ if(NN_Desk.model_fast){//快版 //界面显示 if(NN_Desk.state == NN_state.robZhuang){ //抢庄状态 //显示抢庄按钮 if(NN_Desk.model == 1 && !NN_UIF.game._isAnim_startWar){ NN_UIF.btn.robZhuang(true); } }else if(NN_Desk.state == NN_state.bet){ //下注状态 //显示下注按钮!NN_UIF.game._isAnim_okZhuang if(NN_Desk.model == 2 || NN_Desk.model == 3 || NN_Desk.model == 5){ if(!NN_UIF.game._isAnim_startWar){ NN_UIF.btn.betScore(1, 1, 1, NN_Desk.model_fast); } }else if(NN_Desk.model != 4 && !NN_UIF.game._isAnim_okZhuang){ NN_UIF.btn.betScore(1, 1, 1, NN_Desk.model_fast); } } }else {//慢版 //界面显示 if(NN_Desk.state == NN_state.robZhuang){ //抢庄状态 //显示抢庄按钮 if(NN_Desk.model == 1 && NN_Judge.isStartWar != 1){ NN_UIF.btn.robZhuang(true); } }else if(NN_Desk.state == NN_state.bet){ //下注状态 //显示下注按钮!NN_UIF.game._isAnim_okZhuang if(NN_Desk.model == 1){ if(NN_Judge.isOkZhuang != 1){ NN_UIF.btn.betScore(1, 1, 1, NN_Desk.model_fast); } }else if(NN_Desk.model == 2 || NN_Desk.model == 3){ if(NN_Judge.isStartWar != 1){ NN_UIF.btn.betScore(1, 1, 1, NN_Desk.model_fast); } }else if(NN_Desk.model == 5){ if(!NN_UIF.game._isAnim_startWar){ NN_UIF.btn.betScore(1, 1, 1, NN_Desk.model_fast); } } } } } //托管 NN_UI.trusteeshipState(true, false, NN_Desk.myseat); }, }; //每小局结算时显示 NN_UIF.settlement = { //隐藏 hide: function(){ this.view(false); }, //ontime定时器 ontime: function(){ }, //定时器id _toId: { settlement: { t1: -1, t2: -1, t2: -1 }, winEffect: { t1: -1 }, }, //显示每局结算 view: function(isView, isAnim, isSound, isFast, result){ if(isView){ var _result = [[],[]];//庄赢和输 for(var i=0;i 0 && i != NN_Desk.zhuang){ if(result[i][0] < 0){ _result[0].push(i); }else if(result[i][0] > 0){ _result[1].push(i); } } } //输的玩家金币流向庄 var _time = 0; if(isAnim){ if(_result[0].length > 0){ for(var i=0;i<_result[0].length;i++){ this.set_zhuangGold(true, isAnim, isSound, isFast, _result[0][i], NN_Desk.zhuang); } this.winEffect(true, isAnim, isSound, isFast,NN_Desk.zhuang); if(isFast){ _time += 800; } else { _time += 1500; } } //庄金币流向赢的玩家 if(_result[1].length > 0){ this._toId.settlement.t1 = window.setTimeout(function(){ this._toId.settlement.t1 = -1; for(var i=0;i<_result[1].length;i++){ this.set_zhuangGold(true, isAnim, isSound, isFast, NN_Desk.zhuang,_result[1][i]); this.winEffect(true, isAnim, isSound, isFast,_result[1][i]); } }.bind(this),_time); if(isFast){ _time += 800; } else { _time += 1500; } } //显示玩家输赢分数 this._toId.settlement.t2 = window.setTimeout(function(){ this._toId.settlement.t2 = -1; set_self(916,37,1,0,0); this.view_1(true, isAnim, isSound, isFast, result); }.bind(this),_time); } else { //无动画直接显示分数 set_self(916,37,1,0,0); this.view_1(true, isAnim, isSound, isFast, result); } return _time; }else { NN_UIF.clearTimeout(this._toId.settlement); this.view_1(); } }, //每局-结算1 view_1 : function(isView, isAnim, isSound, isFast, result){ if(isView){ if(result == null){ set_group(209,37,0,0,0); return; } NN_Desk.state == NN_state.settlement; //显示加减分数动画 var wz; var sLen = 0; //分数长度 for(var i=0;i 0){ wz = NN_SF[i]; sLen = String(Math.abs(result[i][0])).length; //数字背景 set_self(911+wz,41,0,0,0); set_self(911+wz,19,get_self(346+wz,19)-12,0,0); if(wz == 1 || wz == 2){ //右侧 if(sLen > 2){ set_self(911+wz,18,get_self(346+wz,18) -25 - 30*(sLen-2),0,0); set_self(911+wz,20,199 + 30*(sLen - 2),0,0); }else { set_self(911+wz,18,get_self(346+wz,18) - 34,0,0); set_self(911+wz,20,199,0,0); } } else { //左侧 if(sLen > 2){ set_self(911+wz,18,get_self(346+wz,18) - 50,0,0); set_self(911+wz,20,199 + 30*(sLen - 2),0,0); }else { set_self(911+wz,18,get_self(346+wz,18) - 34,0,0); set_self(911+wz,20,199,0,0); } } //加减符号 if(sLen == 0){ set_self(831+wz,18,get_self(911+wz,18)+56,0,0); }else{ set_self(831+wz,18,get_self(911+wz,18) + (get_self(911+wz,20) - 30*sLen - 30)/2,0,0); } set_self(831+wz,19,get_self(911+wz,19)+32,0,0); if(result[i][0] > 0){ //加 set_self(831+wz,43,1,0,0); //数字 set_self(841+wz,7,Math.abs(result[i][0]),0,0); if(result[i][0] >= 10){ set_self(841+wz,18,get_self(831+wz,18)+30,0,0); }else { set_self(841+wz,18,get_self(831+wz,18)+43,0,0); } set_self(841+wz,19,get_self(831+wz,19) - 5,0,0); set_self(841+wz,21,40,0,0); set_self(841+wz,20,sLen * 30,0,0); set_self(841+wz,37,1,0,0); set_self(831+wz,37,1,0,0); set_self(836+wz,37,0,0,0); // set_self(911+wz,43,1,0,0); set_self(911+wz,37,1,0,0); // if(isAnim){ if(isFast){ play_box(1,911+wz,19,get_self(911+wz,19),-400,1410,500); play_box(1,831+wz,19,get_self(831+wz,19),-400,1410,500); play_box(1,841+wz,19,get_self(841+wz,19),-400,1410,500); }else { play_box(1,911+wz,19,get_self(911+wz,19),-400,1200,600); play_box(1,831+wz,19,get_self(831+wz,19),-400,1200,600); play_box(1,841+wz,19,get_self(841+wz,19),-400,1200,600); } }else { set_self(911+wz,19,get_self(346+wz,19)-12-36,0,0); set_self(831+wz,19,get_self(911+wz,19)+32,0,0); set_self(841+wz,19,get_self(831+wz,19)-5,0,0); } // if(wz == 0 && isSound){ NN_playSound("sl"); } }else if(result[i][0] < 0){ //减 set_self(831+wz,43,2,0,0); //数字 set_self(836+wz,7,Math.abs(result[i][0]),0,0); if(result[i][0] <= -10 ){ set_self(836+wz,18,get_self(831+wz,18)+30,0,0); }else { set_self(836+wz,18,get_self(831+wz,18)+43,0,0); } set_self(836+wz,19,get_self(831+wz,19)-5,0,0); set_self(836+wz,20,sLen * 30,0,0); set_self(836+wz,21,40,0,0); set_self(836+wz,37,1,0,0); set_self(831+wz,37,1,0,0); set_self(841+wz,37,0,0,0); // set_self(911+wz,43,2,0,0); set_self(911+wz,37,1,0,0); // if(isAnim){ if(isFast){ play_box(1,911+wz,19,get_self(911+wz,19),-400,1410,500); play_box(1,831+wz,19,get_self(831+wz,19),-400,1410,500); play_box(1,836+wz,19,get_self(836+wz,19),-400,1410,500); } else { play_box(1,911+wz,19,get_self(911+wz,19),-400,1200,600); play_box(1,831+wz,19,get_self(831+wz,19),-400,1200,600); play_box(1,836+wz,19,get_self(836+wz,19),-400,1200,600); } }else { set_self(911+wz,19,get_self(346+wz,19)-12-36,0,0); set_self(831+wz,19,get_self(911+wz,19)+32,0,0); set_self(836+wz,19,get_self(831+wz,19)-5,0,0); } if(wz == 0 && isSound){ NN_playSound("sb"); } } //set_self(184+NN_SF[i],7,""+result[i][1],0,0); //显示分数 //Utl.setGrade(i,result[i][1]); if(NN_Desk.pList[i]){ NN_UIF.update.playerScore(i,NN_Desk.pList[i].scores); } } //Test.addScoreData(NN_Desk.nowCount-1 , i, result[i][0]); } }else { set_group(209,37,0,0,0); //隐藏 分数 for(var i=0; i<5; i++){ //停止动画 play_box(1,911+i,0); play_box(1,831+i,0); play_box(1,836+i,0); play_box(1,841+i,0); //隐藏 - 赢分效果 set_self(919+i,37,0,0,0); } } }, //胜利玩家动画效果 winEffect: function(isView, isAnim, isSound, isFast, seat){ if(isView){ if(isFast){ //快版 this._toId.settlement.t1 = setTimeout(function(){ this._toId.settlement.t3 = -1; set_self(919+NN_SF[seat],37,1,0,0); set_self(919+NN_SF[seat],43,1,0,0); play_ani(1,919+NN_SF[seat],43,1,13,0,800,0,0,0,1,0,0); play_ani(1,919+NN_SF[seat],37,1,0,0,400,0,810,0,1,0,0); }.bind(this),200); }else { this._toId.settlement.t1 = setTimeout(function(){ this._toId.settlement.t3 = -1; set_self(919+NN_SF[seat],37,1,0,0); set_self(919+NN_SF[seat],43,1,0,0); play_ani(1,919+NN_SF[seat],43,1,13,0,1000,0,0,0,1,0,0); play_ani(1,919+NN_SF[seat],37,1,0,0,500,0,1010,0,1,0,0); }.bind(this),300); } } else { NN_UIF.clearTimeout(this._toId.winEffect); for (var i=0;i<5;i++) { play_ani(0,919+i,0); set_self(919+i,37,0,0,0); } } }, //结算时显示金币流动 set_zhuangGold : function(isView, isAnim, isSound, isFast, seat1,seat2,count){ if(isView && seat1 != null){ if(count == null){ count = 3; } var _time = 0; var z_wz = 100*seat1+10*seat2; set_self(916,37,1,0,0); for(var i=0;i 0){ //第几局 rid ++; set_rec(rid,"第"+(i+1)+"局"); rec_js.push([rid,18+rounds[i][j][0]*212,10+i*45,getStrLength(get_rec(rid))*15,32]); //分数 rid ++; set_rec(rid,""+rounds[i][j][1]); rec_js.push([rid,105+rounds[i][j][0]*212,10+i*45,getStrLength(get_rec(rid))*15,32]);// } } } //判断大赢家 var _max = [], bigWiner = -1; if(scores[0].length > 0){ _max = [[scores[0][0],scores[0][1]]]; } for(var i=0;i 0 && scores[i+1].length > 0){ if(_max[0][1] == scores[i+1][1]){ _max.push([scores[i+1][0],scores[i+1][1]]); }else { _max = _max[0][1] > scores[i+1][1] ? _max : [[scores[i+1][0],scores[i+1][1]]]; } } } for(var i=0;i<_max.length;i++){ if(_max[i][1] > 0){//大赢家 set_self(885+_max[i][0],37,1,0,0); //判断自己是否为大赢家 if(_max[i][0] == NN_Desk.myseat){ bigWiner = 1; } } } NN_Draw.rec_js = rec_js; //画图片数据 NN_Draw.settlement = 1; NN_Desk.state = NN_state.over; if(isSound){ NN_playSound("js"); } //显示房主图标 if(NN_Desk.owner.seat >= 0){ set_self(971,18,get_self(859 + NN_Desk.owner.seat,18) - 30,0,0); set_self(971,19,get_self(859 + NN_Desk.owner.seat,19) - 25,0,0); set_self(971,37,1,0,0); } else { set_self(971,37,0,0,0); set_self(972,37,1,0,0); set_self(973,7,NN_Desk.owner.name,0,0); set_self(974,7,NN_Desk.owner.id,0,0); set_self(973,37,1,0,0); set_self(974,37,1,0,0); } //星星数量刷新 if(NN_Desk.model_bean[0] == 1){ for(var i=0;i 0){ var _scores = []; if(scores && scores.length > 0){ _scores = scores; }else { //得出分数数组 for(var i=0;i -1){ window.clearInterval(NN_nowTimeoutId); NN_nowTimeoutId = -1; } NN_nowTimeout = _time; if(NN_Desk.state != NN_state.bet && NN_Desk.state != NN_state.ready){ this._nowTimeoutCount = 0; NN_Desk.timeout_count.bet = 0; } //下注时倒计时循环 NN_nowTimeoutId = window.setInterval(function(){ //显示 NN_nowTimeout --; if(NN_nowTimeout < 0 || (NN_Desk.state == NN_state.ready && NN_nowTimeout == 0)){ window.clearInterval(NN_nowTimeoutId); NN_nowTimeoutId = -1; if(NN_Desk.state == NN_state.bet || NN_Desk.state == NN_state.ready){//下注时倒计时循环 this._nowTimeoutCount ++; NN_Desk.timeout_count.bet ++; //NN_UI.setCountDown(NN_Desk.timeout_m.bet); if(NN_Desk.state == NN_state.ready){ NN_UIF.countDown.show(NN_Desk.timeout_m.ready); }else { NN_UIF.countDown.show(NN_Desk.timeout_m.bet); } NN_Desk.stageTime_loc = (new Date()).getTime(); } return; } if(String(NN_nowTimeout).length == 1){ set_self(704,7,"0"+NN_nowTimeout,0,0); }else { set_self(704,7,NN_nowTimeout,0,0); } set_self(704,20,40,0,0); //下注倒计时5s震动 if(NN_Desk.state == NN_state.bet){ if((NN_Desk.model_fast == 1 && NN_nowTimeout == 2 || NN_Desk.model_fast != 1 && NN_nowTimeout == 5)&& NN_Desk.myseat != NN_Desk.zhuang && NN_Desk.pList[NN_Desk.myseat].betScore <= 0){ NN_Judge.isVibrator = 1; //Func.vibrator(500); Func.repeatvibrator(1); }else if(NN_nowTimeout == 0 && NN_Judge.isVibrator == 1){ Func.canclevibrator(); NN_Judge.isVibrator = -1; } } }.bind(this),1000); if(String(NN_nowTimeout).length == 1){ set_self(704,7,"0"+NN_nowTimeout,0,0); }else { set_self(704,7,NN_nowTimeout,0,0); } set_self(704,20,40,0,0); set_self(704,37,1,0,0); set_self(703,37,1,0,0); }else { if(NN_nowTimeoutId > -1){ window.clearInterval(NN_nowTimeoutId); NN_nowTimeoutId = -1; NN_nowTimeout = 0; } if(NN_Judge.isVibrator == 1){ Func.canclevibrator(); NN_Judge.isVibrator = -1; } set_self(704,7,"00",0,0); set_self(704,37,0,0,0); set_self(703,37,0,0,0); } }, //恢复读条显示 reconnect: function(isFast){ //对应座位显示倒计时 if(NN_Desk.stageTime <= 0){ return ;} this.show(); //停止当前定时 var _time = 0; if(NN_Desk.model_fast >= 1){ //快版时间 switch (NN_Desk.state){ case NN_state.ready: //_time = NN_Desk.timeout_m.ready*1000 - NN_Desk.stageTime; _time = NN_Desk.timeout_m.ready*1000 - Math.floor(NN_Desk.stageTime % (NN_Desk.timeout_m.ready*1000)); break; case NN_state.robZhuang://抢庄 if(NN_Desk.model == 1){ if(NN_Desk.nowCount == 1){ _time = 2150 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time = 950 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 4){ //发牌抢庄 //统计发牌玩家 var pCount = 0; for(var i=0;i 0){ pCount ++; } } if(NN_Desk.nowCount == 1){ _time = 2150 + pCount * 100 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time = 1050 + pCount * 100 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 5){ //下注抢庄 _time = 1450 + (NN_Desk.betList.length - 1) * 100 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; } break; case NN_state.bet://下注状态 if( NN_Desk.timeout_count.bet <= 0){ var rob_num = []; for (var i=0;i 1){ _time = 3150 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 2){ //轮庄 if(NN_Desk.nowCount == 1){ //随机庄 _time = 2250 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ //确定庄 _time = 1050 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 3){ //房主坐庄 if(NN_Desk.nowCount == 1){ _time = 2250 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time = 1050 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 4){ //看牌抢庄 //var pCount = []; //for (var i=0;i 1){ //_time = 1050 + pCount * 100 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; //} if(rob_num == 0 || rob_num > 1){ _time = 3150 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; }else if(rob_num == 1){ _time = 1150 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } } else if(NN_Desk.model == 5){ //下注抢庄 if(NN_Desk.zhuang >= 0){//抢庄后显示下注按钮 if(rob_num == 0){ _time = 3150; }else if(rob_num == 1){ _time = 1150; }else if(rob_num > 1){ _time = 3150; } _time += NN_Desk.timeout_m.betAgain*1000 - NN_Desk.stageTime; }else { _time = NN_Desk.timeout_m.bet*1000; if(NN_Desk.nowCount == 1){ _time += 2150 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time += 950 - NN_Desk.stageTime; } } } }else { _time = NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } break; case NN_state.rubput: //搓摆牌 case NN_state.rubCard: //搓牌 case NN_state.putCard: //摆牌 if(NN_Desk.model == 5){ //下注抢庄 _time = 1000 + 100 + NN_Desk.betList.length * 100 + NN_Desk.timeout_m.rubput*1000 - NN_Desk.stageTime; } else { //_time = 5400+(NN_Desk.betList.length+1)*1800 + NN_Desk.timeout_m.rubput*1000 - NN_Desk.stageTime; _time = 1450 + NN_Desk.betList.length * 100 + NN_Desk.timeout_m.rubput*1000 - NN_Desk.stageTime; } break; default: break; } } else { switch (NN_Desk.state){ case NN_state.ready: _time = NN_Desk.timeout_m.ready*1000 - Math.floor(NN_Desk.stageTime % (NN_Desk.timeout_m.ready*1000)); break; case NN_state.robZhuang://抢庄 if(NN_Desk.model == 1){ if(NN_Desk.nowCount == 1){ _time = 5500 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time = 4000 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 4){ //发牌抢庄 //统计发牌玩家 var pCount = 0; for(var i=0;i 0){ pCount ++; } } if(NN_Desk.nowCount == 1){ _time = 7050 + (pCount-1) * 1450 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time = 4850 + (pCount-1) * 1450 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 5){ //下注抢庄 _time = 4800 + (NN_Desk.betList.length - 2) * 1450 + NN_Desk.timeout_m.robzhuang*1000 - NN_Desk.stageTime; } break; case NN_state.bet://下注状态 if( NN_Desk.timeout_count.bet <= 0){ var rob_num = []; for (var i=0;i 1){ _time = 11000 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 2){ //轮庄 if(NN_Desk.nowCount == 1){ //随机庄 _time = 15000 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ //确定庄 _time = 8800 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 3){ //房主坐庄 if(NN_Desk.nowCount == 1){ _time = 10300 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time = 8800 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } }else if(NN_Desk.model == 4){ //看牌抢庄 if(rob_num == 0 || rob_num > 1){ _time = 7350 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; //4350#6050#7350 }else if(rob_num == 1){ _time = 1450 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } } else if(NN_Desk.model == 5){ //下注抢庄 if(NN_Desk.zhuang >= 0){ if(rob_num == 0 || rob_num > 1){ _time = 7350; //4350#6050#7350 }else if(rob_num == 1){ _time = 1450; } _time += NN_Desk.timeout_m.betAgain*1000 - NN_Desk.stageTime; }else { _time = NN_Desk.timeout_m.bet*1000; if(NN_Desk.nowCount == 1){ _time += 5050 - NN_Desk.stageTime; }else if(NN_Desk.nowCount > 1){ _time += 2850 - NN_Desk.stageTime; } } } }else { _time = NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime; } break; case NN_state.rubput: //搓摆牌 case NN_state.rubCard: //搓牌 case NN_state.putCard: //摆牌 if(NN_Desk.model == 4){ //看牌抢庄 _time = 2300 + NN_Desk.betList.length * 360 + NN_Desk.timeout_m.rubput*1000 - NN_Desk.stageTime; //4767 - 1800 }else if(NN_Desk.model == 5){ //下注抢庄 3002#3 _time = 1000 + 910 + (NN_Desk.betList.length + 1) * 360 + NN_Desk.timeout_m.rubput*1000 - NN_Desk.stageTime; }else { _time = 4800 + (NN_Desk.betList.length+1)*1800 + NN_Desk.timeout_m.rubput*1000 - NN_Desk.stageTime; } break; default: break; } } //console.log("NN_Desk.stageTime = "+NN_Desk.stageTime); if(_time >= 1000){ //NN_UI.setCountDown(Math.floor(_time/1000)); NN_UIF.countDown.show(Math.floor(_time/1000)); }else if(_time >= 0 && _time < 1000){ //NN_UI.setCountDown(1); NN_UIF.countDown.show(1); } }, };