Files
youle_cocos/projects/niuniu/js/niuniu/nn_ui_fast.js
T
joywayerandClaude Opus 4.8 7ab748919a chore: 纳入项目全部源码进根仓库统一管理
删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交:
- projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码
- cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码
- CLAUDE.md、.mcp.json 等配置
library/temp/node_modules/dist 等缓存由 .gitignore 排除。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:55:13 +08:00

4602 lines
133 KiB
JavaScript

/*
快速模式界面显示
*/
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<NN_Desk.robList.length;i++) {
if(NN_Desk.robList[i] == 1){
_robList.push(i);
}
}
this._isAnim_okZhuang = true;
if(_robList.length == 0){//无人抢庄
NN_Tips.words("okZhuang",NN_Desk.nowCount);
if(isFast){
_time = 1000;
}else {
_time = 1800;
}
this._toId.okZhuang.t1 = window.setTimeout(function(){
this._toId.okZhuang.t1 = -1;
NN_Tips.words();
//显示庄,洗牌动画,下注按钮
NN_UIF.anim.okZhuang(1, 1, 1, isFast, callbackFunc);
}.bind(this),_time);
}else if(_robList.length == 1){//一人抢庄
this._toId.okZhuang.t2 = window.setTimeout(function(){
this._toId.okZhuang.t2 = -1;
//显示庄,洗牌动画,下注按钮
NN_UIF.anim.okZhuang(1, 1, 1, isFast, callbackFunc);
}.bind(this),500);
}else {//多人抢庄
//延迟执行
this._toId.okZhuang.t3 = window.setTimeout(function(){
this._toId.okZhuang.t3 = -1;
if(isFast && (NN_Desk.model == 4 || NN_Desk.model == 5)){
//多个闪现至庄桌位
_time = NN_UIF.show.ensureZhuang(1, 1, 1, isFast, NN_Desk.robList);
}else{
//掷骰子
_time = NN_UIF.show.rollDice(1,1,1,isFast, NN_Desk.robList);
}
//显示下注按钮
this._toId.okZhuang.t3_1 = window.setTimeout(function(){
this._toId.okZhuang.t3_1 = -1;
if(isFast && (NN_Desk.model == 4 || NN_Desk.model == 5)){ //不显示庄动画
//显示庄,下注按钮
NN_UIF.anim.okZhuang(1, 1, 1, isFast, callbackFunc, true);
}else{
//显示庄,下注按钮
NN_UIF.anim.okZhuang(1, 1, 1, isFast, callbackFunc);
}
}.bind(this),_time);
}.bind(this),500);
}
}else {
NN_UIF.clearTimeout(this._toId.okZhuang);
//
NN_UIF.anim.okZhuang();
NN_UIF.show.rollDice();
NN_UIF.show.ensureZhuang();
//关闭确定庄动画标记
NN_UIF.game._isAnim_okZhuang = false;
}
},
//解散房间-游戏结束
disbandGame: function(isView, isAnim, isSound, isFast, data){
if(isView){
//中断显示
//this.hide();
if(data.isSett == 1){
var _time = 0;
NN_Judge.isDisband = 1;
//重画界面
//NN_UIF.update.game();
//隐藏定时闹钟
NN_UIF.countDown.hide();
//判断显示全部摆牌
if(typeof(data.putAllCard) != "undefined"){
//刷新牌显示
NN_UIF.update.cards();
//全部摆牌
NN_UIF.net.putAllCard();
_time += 3000;
}
//判断小局结算
if(typeof(data.settlement) != "undefined"){
this._toId.disbandGame.t1 = window.setTimeout(function(){
this._toId.disbandGame.t1 = -1;
//NN_UIF.net.settlement(data.settlement.result);
NN_UIF.settlement.view(1,1,1,1,data.settlement.result);
}.bind(this),_time);
_time += 4000;
}
//判断总结算
if(typeof(data.gameOver) != "undefined"){
this._toId.disbandGame.t2 = window.setTimeout(function(){
NN_TO.disbandGame.t2 = -1;
NN_UIF.net.gameOver(data.gameOver.scores, data.gameOver.rounds);
}.bind(this),_time);
}
}else {
//清除桌数据并返回大厅
NN_Exit_intoHall();
}
}else{
NN_UIF.clearTimeout(this._toId.disbandGame);
}
},
};
//刷新界面
NN_UIF.update = {
//刷新游戏界面 (断线重连)
game: function(isFast){
//console.log("开始刷新游戏界面");
if(NN_Desk){
//隐藏游戏界面
NN_UIF.hide();
//隐藏提示
NN_Tips.words();
//显示桌信息
NN_UIF.deskInfo.update();
//显示局数
//this.roundNum();
//玩家分数
this.playerScore();
//刷新所有人下注分数
this.betScore();
//刷新庄
this.zhuang();
//根据阶段具体显示
switch (NN_Desk.state){
case NN_state.ready: //准备阶段
//准备按钮显示
Utl.setDeskStage(0);
//显示倒计时
NN_UIF.countDown.reconnect();
break;
case NN_state.robZhuang: //抢庄阶段
//刷新所有玩家牌
if(NN_Desk.model == 4 || NN_Desk.model == 5){
this.cards();
if(NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 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<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i] && NN_Desk.pList[i].betScoreAgain > 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<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i]){
this.setGrade(i,NN_Desk.pList[i].scores);
}
}
}
},
//设置分数显示
setGrade: function(seat,_score, isNoChangeBean){
if(NN_Desk.model_bean && NN_Desk.model_bean[0] == 1 && _score != null){ //星星数量刷新
if(Utl.getIsInfinite() == 1){
if(NN_Desk.pList[seat] && NN_Desk.pList[seat].bean != null && !isNoChangeBean){
Utl.changeBean(0, seat);
Utl.changeBean(NN_Desk.pList[seat].bean - Utl.getBeanBySeat(seat), seat);
}
} else if(!isNoChangeBean){
Utl.changeBean(_score, seat);
}
}
//无限局玩家显示星星数
if(Utl.getIsInfinite() == 1){
var _bean = Utl.getBeanBySeat(seat);
if(_bean != -1){
Utl.setGrade(seat, _bean);
}
} else if(_score != null){
Utl.setGrade(seat,_score);
}
},
//刷新所有玩家抢庄
robZhuang: function(){
for(var i=0;i<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i] && NN_Desk.robList[i] != 0){
NN_UIF.show.robZhuang(true,false,false,i);
}
}
},
bet: function(isNoBetBtn){
//未下注时显示
NN_UIF.btn.betScore(1,0,0,NN_Desk.model_fast,isNoBetBtn);
},
//刷新所有人下注分数
betScore: function(isSound){
for(var i=0;i<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i]){
if(NN_Desk.pList[i].betScore > 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<this._ensureZhuangVal.length; i++){
if(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<this._ensureZhuangVal.length; i++){
if(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<NN_Desk.model_bet; i++) {
if(i+1 == temp[0]){
temp.shift();
}else {
//半透明
set_self(809+i,41,0,0,0);
set_self(819+i,41,0,0,0);
//set_self(809+i,35,150,0,0);
//set_self(819+i,35,160,0,0);
//变帧灰图
set_self(809+i,43,2,0,0);
set_self(819+i,1,583,0,0);
set_self(819+i,7,i+1,0,0);
}
}
}
}
if(NN_Desk.model == 5 && NN_Desk.pList[NN_Desk.myseat].cards.cards.length > 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<NN_Desk.pList.length ;i++){
if (NN_Desk.pList[i] && NN_Desk.pList[i].cards.cards.length == 5){
//显示牌
this.showBySeat(true, isAnim, isSound, i);
//显示搓摆牌状态
//this.updateByState(i, isAnim, isSound);
if(NN_Desk.state == NN_state.settlement){
//结算时显示牌型
this.putCard(true, false, false, isFast, i);
//console.log("刷新结算时玩家"+i+"的牌");
}else {
//显示搓摆牌状态
this.updateByState(i, isAnim, isSound);
//console.log("刷新搓摆牌玩家"+i+"的牌");
}
}
}
}
},
//更新牌-根据搓牌状态显示
updateByState: function(seat, isAnim, isSound, isFast){
if((NN_Desk.model == 4 || NN_Desk.model == 5)&& (NN_Desk.state == NN_state.robZhuang || NN_Desk.state == NN_state.bet)){
//看牌抢庄-抢庄、下注时去掉最后一张牌显示
for(var i=0;i<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i]){
if(i == NN_Desk.myseat){
//牌样式转换
for(var j = 0; j < 4; j ++){
set_self(725+j,1,561,0,0);
set_self(725+j,43,NN_toCardImg(NN_Desk.pList[i].cards.cards[j]),0,0);
set_self(725+j,20,130,0,0);
set_self(725+j,21,176,0,0);
}
}
set_self(725 + NN_SF[i]*5 + 4,37,0,0,0);
}
}
return;
}else if(NN_Desk.pList[seat].cards.cards.length != 5 || (NN_Desk.state != NN_state.rubput && NN_Desk.state != NN_state.rubCard && NN_Desk.state != NN_state.putCard && NN_Desk.state != NN_state.over)){
return;
}
var wz = NN_SF[seat];
//先判断搓牌
if(NN_Desk.pList[seat].rubcard.length < 2){
if(wz == 0){
//牌样式转换
for(var i=0;i<5;i++){
set_self(725+i,1,561,0,0);
set_self(725+i,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
set_self(725+i,20,130,0,0);
set_self(725+i,21,176,0,0);
set_self(725+i,41,1,0,0);
}
//搓牌牌背
set_self(750,18,get_self(728,18),0,0);
set_self(750,19,get_self(728,19),0,0);
set_self(750,20,get_self(728,20),0,0);
set_self(750,21,get_self(728,21),0,0);
set_self(751,18,get_self(729,18),0,0);
set_self(751,19,get_self(729,19),0,0);
set_self(751,20,get_self(729,20),0,0);
set_self(751,21,get_self(729,21),0,0);
set_self(750,37,1,0,0);
set_self(751,37,1,0,0);
NN_Judge.isRub = -1;
//游戏结束时状态不改变
if(NN_Desk.state != NN_state.over){
NN_Desk.state = NN_state.rubCard;
}
//手指滑动
NN_UIF.anim.fingerSlide(true, isAnim, isSound);
for(var j=0;j<NN_Desk.pList[seat].rubcard.length;j++){
set_self(747+NN_Desk.pList[seat].rubcard[j],37,0,0,0);
}
}else{
for(var j=0;j<NN_Desk.pList[seat].rubcard.length;j++){
set_self(725+wz*5+NN_Desk.pList[seat].rubcard[i],43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[NN_Desk.pList[seat].rubcard[i]]),0,0);
}
}
}else{
//判断摆牌
if(NN_Desk.pList[seat].putcard != 1){//未摆牌
//先判断特殊牌型-有则直接显示牌型
if(NN_Desk.pList[seat].cards.type == "bomb" || NN_Desk.pList[seat].cards.type == "wx" || NN_Desk.pList[seat].cards.type == "nmw"){//是否为特殊牌型
//摆牌 - 对应座位
this.putCard(true, isAnim, isSound, isFast, seat);
}else{
if(wz == 0){
//牌样式转换
for(var i=0;i<5;i++){
set_self(725+i,1,561,0,0);
set_self(725+i,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
set_self(725+i,20,130,0,0);
set_self(725+i,21,176,0,0);
}
set_self(750,37,0,0,0);
set_self(751,37,0,0,0);
//
set_self(807,37,1,0,0);
set_self(808,37,1,0,0);
if(NN_Judge.putLoc.length == 0){
//显示摆牌提示背景
set_self(905,37,1,0,0);
set_self(905,41,0,0,0);
//显示摆牌状态
set_self(769+wz,37,1,0,0);
set_self(769+wz,41,0,0,0);
}
//游戏结束时状态不改变
if(NN_Desk.state != NN_state.over){
NN_Desk.state = NN_state.putCard;
}
//显示自动摆牌
if(NN_Desk.pList[seat].rubcard.length == 2){
NN_putCard_autoSelection(isAnim);
//NN_Judge_selectCard(NN_Judge.putLoc);
}
}else {
//显示摆牌状态
set_self(769+wz,37,1,0,0);
set_self(769+wz,41,0,0,0);
}
}
}else{
//摆牌 - 对应座位
this.putCard(true, isAnim, isSound, isFast, seat);
}
}
},
//对应座位显示玩家的牌
showBySeat: function(isView, isAnim, isSound, seat){
if(isView && NN_Desk.pList[seat] && NN_Desk.pList[seat].cards.cards.length == 5){
var wz = NN_SF[seat];
var spid, x = 0, y = 0, z = 38;
if(wz == 0){
z = 131;
}
for(var i=0;i<5;i++){
switch (wz){
case 0:
x = 332+i*131;
y = 522;
break;
case 1:
x = 880+i*38;
y = 372;
break;
case 2:
x = 880+i*38;
y = 165;
break;
case 3:
x = 166+i*38;
y = 165;
break;
case 4:
x = 166+i*38;
y = 372;
break;
default:
break;
}
spid = 725+wz*5+i;
set_self(spid,18,x,0,0);
set_self(spid,19,y,0,0);
//牌样式转换
//if(wz == 0){
//set_self(spid,1,515,0,0);
//}
set_self(spid,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
if(wz == 0){
set_self(spid,20,130,0,0);
set_self(spid,21,176,0,0);
}else {
set_self(spid,20,81,0,0);
set_self(spid,21,105,0,0);
}
set_self(spid,34,0,0,0);
set_self(spid,37,1,0,0);
}
}else{
//隐藏该玩家的牌
for(var i=0;i<5;i++){
for(var j=0;j<5;j++){
set_self(725 + i * 5 + j ,37,0,0,0);
}
}
}
},
//是否发牌中
_isDealCards : false,
dealCards: function(isView, isAnim, isSound, isFast, dice_num, deal_order, arr_sheet){//arr_sheet-发牌张数 [0,4]
if(isView){
//发牌过程标记
this._isDealCards = true;
//
NN_Judge.isDealCards = 1;
//无动画直接显示搓摆牌界面
if(!isAnim){
NN_UIF.card.update(null, isAnim, isSound, isFast);
return;
}
if(!arr_sheet){
arr_sheet = [0,4];
}
//发牌动画
if(isFast){ //快版发牌 - 无首发牌提示 - 同时发牌
var _cardsLoc = [[332,522,130,176,131],[880,372,81,105,38],[880,165,81,105,38],[166,165,81,105,38],[166,372,81,105,38]]; //[[x坐标,y坐标,w宽,h高,间隔]]
var _spid = 0;
var wz = 0;
var _time = 400;//定时显示牌牌值
if(arr_sheet[0] == 4){
_time += 1000;
}
for(var j=0;j<deal_order.length;j++){
for(var i = arr_sheet[0]; i <= arr_sheet[1]; i++){
wz = NN_SF[deal_order[j]];
_spid = 725 + wz * 5 + i;
//牌初始位置(中心)
if(wz == 0){
set_self(_spid,1,561,0,0);
}
set_self(_spid,43,55,0,0);
set_self(_spid,18,610,0,0);
set_self(_spid,19,285,0,0);
set_self(_spid,20,81,0,0);
set_self(_spid,21,105,0,0);
set_self(_spid,37,1,0,0);
//牌移动到对应位置
play_ani(1,_spid,18,610,_cardsLoc[wz][0] + _cardsLoc[wz][4] * i, 0,400,0,j*100,0,1,0,0);
play_ani(1,_spid,19,285,_cardsLoc[wz][1],0,500,0,j*100,0,1,0,0);
if(wz == 0){
play_ani(1,_spid,20,get_self(_spid,20),_cardsLoc[wz][2],0,400,0,j*100,0,1,0,0);
play_ani(1,_spid,21,get_self(_spid,21),_cardsLoc[wz][3],0,400,0,j*100,0,1,0,0);
}
}
//定时显示牌值
(function (wz,j,arr_sheet) {
setTimeout(function () {
var len = 5;
if(wz == 0){
if(NN_Desk.model == 4 || NN_Desk.model == 5){ //看牌抢庄
len = 4;
}else {
len = 3;
}
}
for(var k=0;k<len;k++){
set_self(725 + wz*5 + k,43,NN_toCardImg(NN_Desk.pList[deal_order[j]].cards.cards[k]),0,0);
}
},_time + j*100);
})(wz,j,arr_sheet);
if(isSound){ //音效
NN_playSound("fp",0);
}
}
//定时刷新牌显示
this._toId.dealCards.t1 = setTimeout(function(){
NN_UIF.card._toId.dealCards.t1 = -1;
//是否发牌中
NN_UIF.card._isDealCards = false;
NN_Tips.words();
//玩家牌刷新
NN_UIF.update.cards();
//搓牌牌背
set_self(750,18,get_self(728,18),0,0);
set_self(750,19,522,0,0);
set_self(751,18,get_self(729,18),0,0);
set_self(751,19,522,0,0);
if(NN_Desk.model == 4 || NN_Desk.model == 5){ //看牌抢庄
if(NN_Desk.state == NN_state.robZhuang){
//显示抢庄按钮
NN_UIF.btn.robZhuang(1,1,1);
//显示玩家抢庄状态
NN_UIF.update.robZhuang();
//显示计时闹钟
if(NN_Desk.model == 5 && NN_Desk.zhuang >= 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<deal_order.length;j++){
dealcardlist.push([deal_order[j],i]);
}
}
//定时发牌
this._toId.dealCards.t3 = window.setTimeout(function(){
//循环发牌
this._toId.dealCards_iv.i1 = window.setInterval(function(){
if(dealcardlist.length > 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<dealcardlist.length;i++){
set_self(725 + NN_SF[dealcardlist[i][0]]*5 + dealcardlist[i][1],43,NN_toCardImg(NN_Desk.pList[dealcardlist[i][0]].cards.cards[dealcardlist[i][1]]),0,0);
}
//var len = 5;
//if(deal_order[i] == NN_Desk.myseat){
//if(NN_Desk.model == 4 || NN_Desk.model == 5){ //看牌抢庄
//len = 4;
//}else {
//len = 3;
//}
//}
//for(var k=0;k<len;k++){
//set_self(725 + NN_SF[deal_order[i]]*5 + k,43,NN_toCardImg(NN_Desk.pList[deal_order[i]].cards.cards[k]),0,0);
//}
//}
//隐藏牌堆
play_ani(1,829,19,get_self(829,19),-120,0,400,0,0,0,1,0,0);
//
//NN_UIF.countDown.show(NN_Desk.timeout_m.rubput);
//是否发牌中
this._isDealCards = false;
//
NN_Judge.isDealCards = -1;
//显示自己搓牌
//if(NN_Desk.pList[NN_Desk.myseat].betScore > 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<NN_Desk.pList.length;i++){
//玩家牌刷新
//NN_UI.playerCards(i);
//NN_UIF.update.cards();
if(NN_Desk.pList[i]){
//显示搓摆牌
//NN_UI.rubPutUI(i,1);
NN_UIF.card.update(i, true, true, isFast);
}
}
//搓牌牌背
set_self(750,18,get_self(728,18),0,0);
set_self(750,19,522,0,0);
set_self(751,18,get_self(729,18),0,0);
set_self(751,19,522,0,0);
//优化-隐藏牌堆
set_self(829,37,0,0,0);
}.bind(this),50);
*/
//定时刷新牌显示
setTimeout(function(){
//是否发牌中
NN_UIF.card._isDealCards = false;
NN_Tips.words();
//玩家牌刷新
NN_UIF.update.cards();
//搓牌牌背
set_self(750,18,get_self(728,18),0,0);
set_self(750,19,522,0,0);
set_self(751,18,get_self(729,18),0,0);
set_self(751,19,522,0,0);
if(NN_Desk.model == 4 || NN_Desk.model == 5){ //看牌抢庄
if(NN_Desk.state == NN_state.robZhuang){
//显示抢庄按钮
NN_UIF.btn.robZhuang(1,1,1);
//显示玩家抢庄状态
NN_UIF.update.robZhuang();
//显示计时闹钟
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;
},50);
}
}.bind(this),360);
}.bind(this),_time);
}
}else {
NN_Judge.isDealCards = -1;
//是否发牌中
this._isDealCards = false;
//牌动画停止
for(var j=0;j<5;j++){
for(var i=0;i<5;i++){
play_ani(0, 725 + j * 5 + i, 0);
}
}
//停止发牌定时
NN_UIF.clearTimeout(this._toId.dealCards);
NN_UIF.clearInterval(this._toId.dealCards_iv);
//色子
play_ani(0,804,0);
set_self(804,37,0,0,0);
set_self(805,37,0,0,0);
set_self(806,37,0,0,0);
//牌堆
play_ani(0,829,0);
set_self(829,37,0,0,0);
}
},
//对应座位发一张牌
dealCard_seat: function(isView, isAnim, isSound, isFast, seat, loc){
if(isView){
var wz = NN_SF[seat];
var spid = 725+wz*5+loc;
var _time = 360;
//设置牌的初始位置
set_self(spid,20,54,0,0);
set_self(spid,21,77,0,0);
set_self(spid,37,-90,0,0);
set_self(spid,18,get_self(829,18)+6,0,0);
set_self(spid,19,get_self(829,19)+52,0,0);
set_self(spid,43,55,0,0);
set_self(spid,41,0,0,0);
set_self(spid,37,1,0,0);
//移动
switch (wz){
case 0:
play_ani(1,spid,18,get_self(829,18),332+loc*131,0,_time,0,0,0,1,0,0);
play_ani(1,spid,19,get_self(829,19),522,0,_time,0,0,0,1,0,0);
break;
case 1:
play_ani(1,spid,18,get_self(829,18),880+loc*38,0,_time,0,0,0,1,0,0);
play_ani(1,spid,19,get_self(829,19),372,0,_time,0,0,0,1,0,0);
break;
case 2:
play_ani(1,spid,18,get_self(829,18),880+loc*38,0,_time,0,0,0,1,0,0);
play_ani(1,spid,19,get_self(829,19),165,0,_time,0,0,0,1,0,0);
break;
case 3:
play_ani(1,spid,18,get_self(829,18),166+loc*38,0,_time,0,0,0,1,0,0);
play_ani(1,spid,19,get_self(829,19),165,0,_time,0,0,0,1,0,0);
break;
case 4:
play_ani(1,spid,18,get_self(829,18),166+loc*38,0,_time,0,0,0,1,0,0);
play_ani(1,spid,19,get_self(829,19),372,0,_time,0,0,0,1,0,0);
break;
default:
break;
}
if(wz == 0){
play_ani(1,spid,20,54,130,0,_time,0,0,0,1,0,0);
play_ani(1,spid,21,77,176,0,_time,0,0,0,1,0,0);
}else {
play_ani(1,spid,20,54,81,0,_time,0,0,0,1,0,0);
play_ani(1,spid,21,77,105,0,_time,0,0,0,1,0,0);
}
play_ani(1,spid,34,-90,0,0,_time,0,0,0,1,0,0);
this._toId.dealCard_seat["p" + seat + " _1"] = window.setTimeout(function () {
NN_UIF.card._toId.dealCard_seat["p" + seat + " _1"] = -1;
if(wz == 0){
if(loc < 3 || ((NN_Desk.model == 4 || NN_Desk.model == 5) && loc < 4)){
set_self(spid,1,561,0,0);
set_self(spid,20,130,0,0);
set_self(spid,21,176,0,0);
set_self(spid,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[loc]),0,0);
}
}else if(loc < 3){
set_self(spid,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[loc]),0,0);
}
},_time+50);
this._toId.dealCard_seat["p" + seat + " _2"] = window.setTimeout(function () {
NN_UIF.card._toId.dealCard_seat["p" + seat + " _2"] = -1;
NN_playSound("fp",0);
},300);
}else {
NN_UIF.clearTimeout(this._toId.dealCard_seat);
}
},
//搓牌
rubCard: function(isView, isAnim, isSound, isFast, seat, loc){
if(isView && seat != null){
var wz = NN_SF[seat];
var _time = 100;
//显示翻牌动画
//
if(wz == 0){
//隐藏手指
NN_UIF.anim.fingerSlide();
set_self(747+loc,37,0,0,0);
}else {
_time = 400;
//console.log("搓牌,"+seat+" 第"+loc+"张牌是:"+NN_Desk.pList[seat].cards.cards[loc]);
//显示翻牌
if(isAnim){ //有动画
var spid_c = 725+wz*5+loc, spid_b = 747+wz*2+loc;//牌、牌背
set_self(spid_b,18, get_self(spid_c, 18),0,0);
set_self(spid_b,19, get_self(spid_c, 19),0,0);
set_self(spid_b,20, get_self(spid_c, 20),0,0);
set_self(spid_b,21, get_self(spid_c, 21),0,0);
set_self(spid_b,37,1,0,0); //752+(wz-1)*2+loc-3
play_ani(1,spid_b,43,1,3,0,400,0,0,0,1,0,0);
this._toId.rubCard["p" + seat + "_1"] = window.setTimeout(function(){
this._toId.rubCard["p" + seat + "_1"] = -1;
set_self(spid_b,37,0,0,0);
set_self(725+wz*5+loc,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[loc]),0,0);
}.bind(this),500);
}else {
set_self(725+wz*5+loc,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[loc]),0,0);
}
}
var rubcard_count = NN_Desk.pList[seat].rubcard.length;
if(wz == 0 && rubcard_count < 2){
return;
}
this._toId.rubCard["p" + seat + "_2"] = window.setTimeout(function(){
this._toId.rubCard["p" + seat + "_1"] = -1;
if(wz != 0){
set_self(747+wz*2+loc,37,0,0,0);
}
var _type = NN_Desk.pList[seat].cards.type;
if(rubcard_count == 2 && (_type == "bigbomb" || _type == "bomb" || _type == "flush" || _type == "wuhua" || _type == "wuxiao" || _type == "hulu" || _type == "tonghua" || _type == "shunzi")){//是否为特殊牌型
//摆牌 - 对应座位
this.putCard(true, isAnim, isSound, isFast, seat);
}else{
//判断摆牌并显示
if(seat == NN_Desk.myseat){
//隐藏手指
NN_UIF.anim.fingerSlide();
if(NN_Desk.pList[seat].rubcard.length == 2){
NN_Desk.state = NN_state.putCard;
if(NN_Desk.pList[seat].putcard != 1){
//NN_UI.putCard(true);
//显示自己摆牌界面
set_self(750,37,0,0,0);
set_self(751,37,0,0,0);
set_self(807,37,1,0,0);
set_self(808,37,1,0,0);
set_self(760,41,0,0,0);
set_self(761,41,0,0,0);
set_self(762,41,0,0,0);
if(NN_Judge.putLoc.length == 0){
set_self(905,37,1,0,0);
set_self(769,37,1,0,0);
set_self(905,41,0,0,0);
set_self(769,41,0,0,0);
}
}else {
//已摆牌隐藏按钮
set_self(750,37,0,0,0);//牌背
set_self(751,37,0,0,0);
set_self(905,37,0,0,0);//提示
set_self(769,37,0,0,0);
set_self(807,37,0,0,0);//按钮
set_self(808,37,0,0,0);
}
}
}else{
if(NN_Desk.pList[seat].rubcard.length == 2 && NN_Desk.pList[seat].putcard != 1){
//显示摆牌状态
//if(seat == NN_Desk.myseat){
//if(NN_Judge.putLoc.length == 0){
//set_self(905,37,1,0,0);
//set_self(905,41,0,0,0);
//set_self(769+wz,37,1,0,0);
//set_self(769+wz,41,0,0,0);
//}
//}else{
set_self(769+wz,37,1,0,0);
set_self(769+wz,41,0,0,0);
//}
}
}
}
}.bind(this),_time);
}else {
if(seat != null){
NN_UIF.clearTimeout(this._toId.rubCard["p" + seat + "_1"]);
NN_UIF.clearTimeout(this._toId.rubCard["p" + seat + "_2"]);
set_self(747 + NN_SF[seat]*2 + 3,37,0,0,0);
set_self(747 + NN_SF[seat]*2 + 4,37,0,0,0);
//摆牌状态
if(seat == NN_Desk.myseat){
set_self(905 + NN_SF[seat],37,0,0,0);
set_self(769 + NN_SF[seat],37,0,0,0);
}else {
set_self(769 + NN_SF[seat],37,0,0,0);
}
} else {
NN_UIF.clearTimeout(this._toId.rubCard);
set_self(750,37,0,0,0);
set_self(751,37,0,0,0);
}
}
},
//搓摆所有玩家牌
putAllCard: function(isView, isAnim, isSound, isFast){
if(isView){
//显示出所有玩家的牌及牌型
set_group(203,37,0,0,0);
set_self(807,37,0,0,0);
set_self(808,37,0,0,0);
set_self(905,37,0,0,0);
for(var i=0;i<5;i++){
set_self(769+i,37,0,0,0);
}
//set_group(204,37,0,0,0);
//玩家
var wz;
var blist = NN_Desk.betList.slice(0);
blist.push(NN_Desk.zhuang);
for(var i=0;i<blist.length;i++){
if(NN_Desk.pList[blist[i]].putcard != 1){
//显示牌
//wz = NN_SF[blist[i]];
//set_self(728+wz*5,43,NN_toCardImg(NN_Desk.pList[blist[i]].cards.cards[3]),0,0);
//set_self(729+wz*5,43,NN_toCardImg(NN_Desk.pList[blist[i]].cards.cards[4]),0,0);
//牌型显示
this.putCard(true, true, true, isFast, blist[i]);
NN_Desk.pList[blist[i]].putcard = 1;
}else{
this.putCard(true, false, false, isFast, blist[i]);
}
}
} else {
}
},
//摆牌 - 对应座位 - 第一步
putCard: function(isView, isAnim, isSound, isFast, seat){
//玩家自己摆牌-缩小排列
NN_UIF.show.firstBetState();
if(isView && NN_Desk.pList[seat].cards.cards.length == 5){
//刷新搓牌的牌显示
for(var i=0; i<NN_Desk.pList[seat].cards.cards.length; i++){
set_self(725 + NN_SF[seat]*5 + i,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
set_self(725 + NN_SF[seat]*5 + i,37,1,0,0);
}
//set_self(725+NN_SF[seat]*5+4,43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[4]),0,0);
if(NN_Desk.myseat == seat){
//隐藏摆牌按钮
set_self(807,37,0,0,0);
set_self(808,37,0,0,0);
set_self(905,37,0,0,0);
set_self(769,37,0,0,0);
//缩小移动
for(var i=0;i<5;i++){
set_self(725+i,37,1,0,0);
set_self(725+i,41,0,0,0);
set_self(725+i,34,0,0,0);
if(isAnim){ //有动画
var _time = 300;
if(isFast){
_time = 200;
}
play_ani(1,725+i,20,get_self(725+i,20),81,0,_time,0,0,0,1,0,0);
play_ani(1,725+i,21,get_self(725+i,21),105,0,_time,0,0,0,1,0,0);
play_ani(1,725+i,19,get_self(725+i,19),473,0,_time,0,0,0,1,0,0);
play_ani(1,725+i,18,get_self(725+i,18),530+i*38,0,_time,0,0,0,1,0,0);
}else {
set_self(725+i,20,81,0,0);
set_self(725+i,21,105,0,0);
set_self(725+i,19,473,0,0);
set_self(725+i,18,530+i*38,0,0);
}
}
if(isAnim){ //有动画
this._toId.putCard["p" + seat + "_1"] = window.setTimeout(function(){
this._toId.putCard["p" + seat + "_1"] = -1;
for(var j=0;j<5;j++){
set_self(725+j,1,515,0,0);
set_self(725+j,43,NN_toCardImg(NN_Desk.pList[NN_Desk.myseat].cards.cards[j]),0,0);
}
}.bind(this),120);
this._toId.putCard["p" + seat + "_2"] = window.setTimeout(function(){
this._toId.putCard["p" + seat + "_2"] = -1;
this.putCard_1(true, isAnim, isSound, isFast, seat);
}.bind(this),400);
} else {
for(var j=0;j<5;j++){
set_self(725+j,1,515,0,0);
set_self(725+j,43,NN_toCardImg(NN_Desk.pList[NN_Desk.myseat].cards.cards[j]),0,0);
}
this.putCard_1(true, isAnim, isSound, isFast, seat);
}
//console.log("玩家"+seat+"摆牌");
}else {
this.putCard_1(true, isAnim, isSound, isFast, seat);
//console.log("玩家"+seat+"摆牌");
}
}else {
NN_UIF.clearTimeout(this._toId.putCard);
this.putCard_1();
}
},
//摆牌 - 对应座位 - 第二步
putCard_1: function(isView, isAnim, isSound, isFast, seat){
if(isView && seat != null){
//显示牌型 NN_Desk.pList[seat].cards.type
var wz = NN_SF[seat];
set_self(774+wz,37,1,0,0);
set_self(779+wz,37,0,0,0);
set_self(769+wz,37,0,0,0);
//红底位置
set_self(764+wz,20,248,0,0);
set_self(764+wz,21,80,0,0);
set_self(764+wz,18,get_self(725+wz*5,18)-6,0,0);
set_self(764+wz,19,get_self(725+wz*5,19)+56,0,0);
set_self(764+wz,37,1,0,0);
//牌型位置
set_self(774+wz,1,523,0,0);
set_self(774+wz,20,111,0,0);
set_self(774+wz,21,60,0,0);
set_self(774+wz,18,get_self(764+wz,18)+58,0,0);
set_self(774+wz,19,get_self(764+wz,19)+4,0,0);
//倍数
set_self(982+wz,18,get_self(764+wz,18)+142,0,0);
set_self(982+wz,19,get_self(764+wz,19)+12,0,0);
set_self(982+wz,37,0,0,0);
//倍
set_self(779+wz,18,get_self(982+wz,18) + 30,0,0);
set_self(779+wz,19,get_self(982+wz,19) - 2,0,0);
set_self(779+wz,37,0,0,0);
//位置调整
switch (NN_Desk.pList[seat].cards.type){
case "bigbomb": //7
case "bomb": //7
//牌型图标
set_self(774+wz,1,525,0,0);
if(NN_Desk.pList[seat].cards.type == "bigbomb"){
set_self(774+wz,43,2,0,0);
}else {
set_self(774+wz,43,1,0,0);
}
set_self(774+wz,20,223,0,0);
set_self(774+wz,21,173,0,0);
set_self(774+wz,18,get_self(725+wz*5,18)-36,0,0);
set_self(774+wz,19,get_self(725+wz*5,19)+27,0,0);
//倍数
set_self(982+wz,18,get_self(725+wz*5,18)+142,0,0);
set_self(982+wz,19,get_self(725+wz*5,19)+108,0,0);
//红底隐藏
set_self(764+wz,37,0,0,0);
break;
case "hulu":
case "wuxiao":
case "wuhua": //
case "flush": //同花顺
//牌型图标
set_self(774+wz,1,524,0,0);
if(NN_Desk.pList[seat].cards.type == "hulu"){
set_self(774+wz,43,6,0,0);
}else if(NN_Desk.pList[seat].cards.type == "wuxiao"){
set_self(774+wz,43,3,0,0);
}else if(NN_Desk.pList[seat].cards.type == "wuhua"){
set_self(774+wz,43,2,0,0);
}else if(NN_Desk.pList[seat].cards.type == "flush"){
set_self(774+wz,43,5,0,0);
}
set_self(774+wz,20,160,0,0);
set_self(774+wz,21,72,0,0);
//红底位置
set_self(764+wz,20,296,0,0);
set_self(764+wz,18,get_self(725+wz*5,18)-35,0,0);
set_self(764+wz,19,get_self(725+wz*5,19)+67,0,0);
//牌型图标位置
set_self(774+wz,18,get_self(764+wz,18)+33,0,0);
set_self(774+wz,19,get_self(764+wz,19)-9,0,0);
//倍数
set_self(982+wz,18,get_self(764+wz,18)+194,0,0);
set_self(982+wz,19,get_self(764+wz,19)+14,0,0);
break;
case "nn"://4
case "shunzi":
case "tonghua":
//牌型图标
set_self(774+wz,1,524,0,0);
if(NN_Desk.pList[seat].cards.type == "nn"){
set_self(774+wz,43,1,0,0);
}else if(NN_Desk.pList[seat].cards.type == "shunzi"){
set_self(774+wz,43,8,0,0);
}else if(NN_Desk.pList[seat].cards.type == "tonghua"){
set_self(774+wz,43,7,0,0);
}
set_self(774+wz,20,160,0,0);
set_self(774+wz,21,72,0,0);
set_self(774+wz,18,get_self(764+wz,18)+12,0,0);
set_self(774+wz,19,get_self(764+wz,19)-7,0,0);
break;
case "wn"://1
set_self(764+wz,37,0,0,0);
//半透明遮罩
set_self(906+wz,18,get_self(725+wz*5,18),0,0);
set_self(906+wz,19,get_self(725+wz*5,19),0,0);
set_self(906+wz,20,233,0,0);
set_self(906+wz,21,103,0,0);
set_self(906+wz,37,1,0,0);
//牌型图标
set_self(774+wz,43,1,0,0);
set_self(774+wz,18,get_self(906+wz,18)+55,0,0);
set_self(774+wz,19,get_self(906+wz,19)+69,0,0);
break;
default: //其他牌型位置设置
set_self(774+wz,43,NN_Desk.pList[seat].cards.niu+1,0,0);
if(NN_Desk.model_mult == 2 || NN_Desk.model_mult == 3 || (NN_Desk.model_mult == 1 && NN_Desk.pList[seat].cards.Multiple > 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<blist.length;i++){
if(NN_Desk.pList[blist[i]].putcard != 1){
return ;
}
}
if(isAnim){
//计时读条
NN_UI.setCountDown();
NN_UIF.countDown.hide();
}
}else {
NN_UIF.clearTimeout(this._toId.putCard_1);
play_ani(0,774+NN_SF[seat],0);
set_group(203,37,0,0,0);
set_group(204,37,0,0,0);
}
},
//牌型奖励界面
cardTypeReward : function(isView, isAnim, isSound, cardType){
if(isView && cardType != null && NN_Desk.constant.cardTypeReward){
var num = 0;
switch (cardType){
case "shunzi":
num = NN_Desk.constant.cardTypeReward[0];
set_self(1111,43,8,0,0);
break;
case "tonghua":
num = NN_Desk.constant.cardTypeReward[1];
set_self(1111,43,7,0,0);
break;
case "hulu":
num = NN_Desk.constant.cardTypeReward[2];
set_self(1111,43,6,0,0);
break;
case "wuxiao":
num = NN_Desk.constant.cardTypeReward[3];
set_self(1111,43,3,0,0);
break;
case "wuhua":
num = NN_Desk.constant.cardTypeReward[4];
set_self(1111,43,2,0,0);
break;
case "bomb":
num = NN_Desk.constant.cardTypeReward[5];
set_self(1111,43,4,0,0);
break;
case "flush":
num = NN_Desk.constant.cardTypeReward[6];
set_self(1111,43,5,0,0);
break;
case "bigbomb":
num = NN_Desk.constant.cardTypeReward[7];
set_self(1111,43,9,0,0);
break;
default:
return ;
break;
}
if(num > 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<result.length;i++){
if(result[i].length > 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<result.length;i++){
if(result[i].length > 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<count;i++){
var spid = ifast_addtospritefromspritecopy(916,715,1300,0,z_wz+i);//创建精灵
set_self(spid,18,get_self(346+NN_SF[seat1],18)+40,0,0);
set_self(spid,19,get_self(346+NN_SF[seat1],19)+33,0,0);
set_self(spid,20,58,0,0);
set_self(spid,21,63,0,0);
set_self(spid,37,1,0,0);
if(isFast){ //快版
play_ani(1,spid,18,get_self(spid,18),get_self(346+NN_SF[seat2],18)+40,0,250,0,0+i*70,0,1,0,0);
play_ani(1,spid,19,get_self(spid,19),get_self(346+NN_SF[seat2],19)+33,0,250,0,0+i*70,0,1,0,0);
//定时删除金币
this.set_zhuangGold_hide(z_wz+i,250+i*80);
}else {
play_ani(1,spid,18,get_self(spid,18),get_self(346+NN_SF[seat2],18)+40,0,500,0,0+i*100,0,1,0,0);
play_ani(1,spid,19,get_self(spid,19),get_self(346+NN_SF[seat2],19)+33,0,500,0,0+i*100,0,1,0,0);
//定时删除金币
this.set_zhuangGold_hide(z_wz+i,500+i*100);
}
}
if(isFast){ //快版
_time = 250 + count * 70;
}else {
_time = 500 + count * 100;
}
//音效
if(isSound){
NN_playSound("jb",0);
}
return _time;
}else {
}
},
//结算时显示金币流动
set_zhuangGold_hide : function(zz,_time){
window.setTimeout(function(){
ifast_dllpritefromspritecopy(916,zz);
},_time);
},
};
//游戏结束时显示
NN_UIF.gameOver = {
//隐藏
hide: function(){
this.view();
//计算器分数
this.multResult();
},
//ontime定时器
ontime: function(){
},
//显示总结算界面
view: function(isView, isAnim, isSound, isFast, scores, rounds){
//游戏结束-显示结算
if(isView && scores != null && NN_Desk.state == NN_state.over){
//隐藏窗口
Utl.closeWindow();
//关闭牌型奖励界面
NN_UIF.card.cardTypeReward();
//隐藏准备按钮
set_self(515,37,0,0,0);
NN_Judge.isDisband = -1;
set_group(211,37,1,0,0);
var wz = 0;
var arr_scores = [];
var _arr = [];
NN_Judge.headViewList = [];
for(var i=0;i<scores.length;i++){
wz = scores[i][0];
//头像、昵称
set_self(859+wz,20,124,0,0);
set_self(859+wz,21,124,0,0);
NN_UI.setWordsLoc(864+wz,subString(Utl.getNicknameBySeat(scores[i][0]),8,1),get_self(854+wz,18)+86,273,11,28);
//ID
NN_UI.setWordsLoc(949+wz,"ID:" + Utl.getPlayeridBySeat(scores[i][0]),get_self(859+wz,18)+59,303,9,21);
set_self(949+wz,37,1,0,0);
//头像对应设置
set_self(859+wz,1,116+NN_SF[scores[i][0]],0,0);
set_self(859+wz,37,1,0,0);
set_self(864+wz,37,1,0,0);
//分数
NN_UI.setNumberLoc(869+wz,874+wz,879+wz,scores[i][1],210+214*wz,538,30,38);
arr_scores.push(scores[i][1]);
_arr.push([Utl.getNicknameBySeat(scores[i][0]), scores[i][1]]);
//头像显示记录
NN_Judge.headViewList.push(859+wz);
//吱口令显示
if(Utl.getPayCodeBySeat(scores[i][0])){
set_self(1000+wz,37,1,0,0);
}
}
set_self(925,41,1,0,0);
set_self(884,21,6+rounds.length*45,0,0);
set_self(884,19,334,0,0);
set_self(884,37,1,0,0);
var rec_js = [];
var bmp_js = [];
//设置rec
var rid = 1000;
for(var i=0;i<rounds.length;i++){//局
for(var j=0;j<rounds[i].length;j++){//玩家
if(rounds[i][j].length > 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<scores.length-1;i++){
if(_max.length > 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<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i]){
Utl.changeBean(NN_Desk.pList[i].scores, i);
}
}
}
try{
//打开计算器按钮
GameUI.showCalBtn(arr_scores);
//显示计算器结果
this.multResult(true);
}catch(e){
NN_Net.submit_error("计算器显示",e.stack+"传入分数:"+JSON.stringify(arr_scores));
}
//
Utl.onGameFinished(_arr);
//接口调用
Utl.gameOver();
return bigWiner;
} else {
set_group(210,37,0,0,0);
set_group(211,37,0,0,0);
set_group(212,37,0,0,0);
}
},
//显示总结算计算后的分数
multResult: function(isView, scores){
if(isView){
if(NN_Desk.gameoverScores.length > 0){
var _scores = [];
if(scores && scores.length > 0){
_scores = scores;
}else {
//得出分数数组
for(var i=0;i<NN_Desk.gameoverScores.length;i++){
_scores.push(NN_Desk.gameoverScores[i][1]);
}
//计算的数组
_scores = Utl.getMultipleResult(_scores);
}
var temp = -1;
for(var i=0;i<NN_Desk.gameoverScores.length;i++){
if(_scores[i] != NN_Desk.gameoverScores[i][1]){
temp = 1;
break;
}
}
//分数显示
if (temp == 1){
var wz = -1;
for(var i=0;i<_scores.length;i++){
wz = NN_Desk.gameoverScores[i][0];
NN_UI.setNumberLoc(936 + wz,926 + wz,931 + wz,_scores[i],217 + 214 * wz,592,21,26,1);
set_self(941+wz,37,1,0,0);
}
}else {
set_group(212,37,0,0,0);
}
}
} else {
set_group(212,37,0,0,0);
}
},
//解散房间
disbandGame: function(data){
}
};
//玩家定时器读条
NN_UIF.countDown = {
//隐藏
hide: function(){
this.show();
},
//
_nowTimeoutCount : 0,
//显示
show : function (_time){
//显示倒计时闹钟
if(_time != null){
if(_time <= 0){return;}
//console.log("到定时闹钟显示时时间差:" + ((new Date()).getTime() - NN_UI.time_start));
if(NN_nowTimeoutId > -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<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i] && NN_Desk.pList[i].cards.cards.length > 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<NN_Desk.robList.length;i++) {
if(NN_Desk.robList[i] == 1){
rob_num ++;
}
}
if(NN_Desk.model == 1){ //每局抢庄
if(rob_num == 0){
//_time = 1650 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime;
_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(rob_num > 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<NN_Desk.pList.length;i++) {
//if(NN_Desk.pList[i]){
//pCount ++;
//}
//}
//if(NN_Desk.nowCount == 1){
//_time = 2150 + pCount * 100 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime;
//}else if(NN_Desk.nowCount > 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<NN_Desk.pList.length;i++){
if(NN_Desk.pList[i] && NN_Desk.pList[i].cards.cards.length > 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<NN_Desk.robList.length;i++) {
if(NN_Desk.robList[i] == 1){
rob_num ++;
}
}
if(NN_Desk.model == 1){ //每局抢庄
if(rob_num == 0){
//_time = 11000 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime;
_time = 7600 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime;
}else if(rob_num == 1){
_time = 6300 + NN_Desk.timeout_m.bet*1000 - NN_Desk.stageTime;
}else if(rob_num > 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);
}
},
};