Files
youle_cocos/projects/niuniu/js/niuniu/nn_ui_fast_10.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

4264 lines
133 KiB
JavaScript

//牛牛10人版界面
//全局多个玩家界面显示相关对象
var NN_UIP = NN_UIP || {};
//对应显示配置的参数
NN_UIP.config = {
};
//隐藏游戏所有界面
NN_UIP.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_UIP.ontime = function(gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong,/* 开启后运行多少次了 */ alltimes){
//隐藏
this.btn.ontime(gameid, spid, times, timelong, alltimes);
};
//清除定时器
NN_UIP.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_UIP.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_UIP.draw = {
};
//游戏显示及刷新
NN_UIP.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_UIP.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.gameStart();
//第几局隐藏
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_UIP.countDown.show(NN_Desk.timeout_m.robzhuang);
NN_UIP.btn.robZhuang(1,1,1);
//开战动画标记取消
this._isAnim_startWar = false;
//显示玩家抢庄状态
NN_UIP.update.robZhuang();
}else if(startType == 1){//显示发牌
NN_Desk.state = NN_state.robZhuang;
NN_UIP.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_UIP.show.rollDice(1,1,1,data.ramZhuang.robList);
//多个闪现至庄桌位
_time = NN_UIP.show.ensureZhuang(1, 1, 1, isFast, NN_Desk.robList);
//console.log("掷骰子");
//定时显示庄,洗牌动画,下注按钮
this._toId.startWar.t1_2 = setTimeout(function(){
this._toId.startWar.t1_2 = -1;
//显示庄,下注按钮
NN_UIP.anim.okZhuang(1, 1, 1, isFast, function(){
NN_UIP.btn.betScore(1,1,1);
//显示计时闹钟
NN_UIP.countDown.show(NN_Desk.timeout_m.bet);
}, 1);
}.bind(this), _time);
}else if(startType == 4){//房主坐庄
//console.log("房主坐庄");
//显示庄,洗牌动画,下注按钮
NN_UIP.anim.okZhuang(1, 1, 1, isFast, function(){
NN_UIP.btn.betScore(1,1,1);
//显示计时闹钟
NN_UIP.countDown.show(NN_Desk.timeout_m.bet);
});
}else{
//console.log("其他");
}
//开战动画标记
this._isAnim_startWar = false;
}.bind(this), _time);
}.bind(this), _time);
}else {//中断显示
//清除相关定时器
NN_UIP.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_UIP.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_UIP.anim.okZhuang(1, 1, 1, isFast, callbackFunc);
}.bind(this),500);
}else {//多人抢庄
//延迟执行
this._toId.okZhuang.t3 = window.setTimeout(function(){
this._toId.okZhuang.t3 = -1;
//多个闪现至庄桌位
_time = NN_UIP.show.ensureZhuang(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_UIP.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_UIP.clearTimeout(this._toId.okZhuang);
//
NN_UIF.anim.okZhuang();
//NN_UIP.show.rollDice();
NN_UIP.show.ensureZhuang();
//关闭确定庄动画标记
NN_UIP.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_UIP.countDown.hide();
//判断显示全部摆牌
if(typeof(data.putAllCard) != "undefined"){
//刷新牌显示
NN_UIP.update.cards();
//全部摆牌
NN_UIP.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_UIP.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_Desk.state = NN_state.over;
NN_UIP.net.gameOver(data.gameOver.scores, data.gameOver.rounds);
}.bind(this),_time);
}
}else {
//清除桌数据并返回大厅
NN_Exit_intoHall();
}
}else{
NN_UIP.clearTimeout(this._toId.disbandGame);
}
},
};
//刷新界面
NN_UIP.update = {
//刷新游戏界面 (断线重连)
game: function(isFast){
//console.log("开始刷新游戏界面");
if(NN_Desk){
//隐藏游戏界面
NN_UIP.hide();
//隐藏提示
NN_Tips.words();
//显示桌信息
NN_UIP.deskInfo.update();
//玩家分数
this.playerScore();
//刷新所有人下注分数
this.betScore();
//刷新庄
this.zhuang();
//根据阶段具体显示
switch (NN_Desk.state){
case NN_state.ready: //准备阶段
//准备按钮显示
Utl.setDeskStage(0);
//显示倒计时
NN_UIP.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_UIP.btn.robZhuang(true);
}
}else {
//抢庄按钮
NN_UIP.btn.robZhuang(true);
}
//刷新所有玩家抢庄
this.robZhuang();
//显示倒计时
NN_UIP.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_UIP.show.betScoreAgain(1,1,1,i,NN_Desk.pList[i].betScoreAgain);
}
}
//显示下注按钮和不加注按钮
this.bet(1);
}else {
this.bet();//下注按钮
}
}else {
//下注按钮
this.bet();
}
//显示倒计时
NN_UIP.countDown.reconnect();
break;
case NN_state.dealCard: //发牌阶段
if(NN_RevDataRecord.dealCards != null && NN_RevDataRecord.over == -1){
//显示
NN_UIP.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_UIP.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("结束刷新游戏界面");
}
},
//庄位置刷新
zhuang: function(){
NN_UIP.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_UIP.show.robZhuang(true,false,false,i);
}
}
},
bet: function(isNoBetBtn){
//未下注时显示
NN_UIP.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_UIP.show.betScore(true,false,false, i, NN_Desk.pList[i].betScore);
}
}
}
},
//刷新所有玩家牌
cards: function(seat){
//NN_UIF.card.
//更新牌显示及搓摆牌显示
NN_UIP.card.update(seat);
},
//刷新小局结算显示
settlement: function(isFast){
//更新牌显示及搓摆牌显示
if(NN_Desk.state == NN_state.settlement){
if(NN_RevDataRecord.settlement && NN_RevDataRecord.settlement != "" && NN_RevDataRecord.settlement.result){
NN_UIP.settlement.view(1,0,0,isFast,NN_RevDataRecord.settlement.result);
NN_RevDataRecord.over = 1;
}else {
//重连
var result = [[],[],[],[],[],[],[],[],[],[]];
for(var i = 0; i < NN_Desk.pList.length; i++){
if(NN_Desk.pList[i] && NN_Desk.pList[i].cards.cards.length == 5){
result[i] = [NN_Desk.pList[i].winScore, NN_Desk.pList[i].scores, Utl.getBeanBySeat(i)];
}
}
NN_UIP.settlement.view(1, 0, 0, isFast, result);
}
}
},
//刷新总结算显示
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_UIP.gameOver.view(1,0,0,NN_Desk.model_fast, NN_RevDataRecord.gameover.scores, NN_RevDataRecord.gameover.rounds);
NN_RevDataRecord.over = 1;
}
},
};
//游戏桌信息
NN_UIP.deskInfo = {
//隐藏
hide: function(){
this.background();
this.roundNum();
this.roomTypeDes();
this.modelIcon();
this.forceBet();
this.disorderDealBtn();
},
update: function(){
if(Utl.getIsInfinite() == 1){
this.background();
this.roundNum();
this.roomTypeDes();
this.forceBet();
}else {
this.background(true);
this.roundNum(true);
this.roomTypeDes(true);
this.modelIcon(true);
this.forceBet(true);
}
this.disorderDealBtn(true);
},
//背景框
background: function(isView){
if(isView){
set_self(NN_Sprite.deskInfo.bmp,37,1,0,0);
}else {
set_self(NN_Sprite.deskInfo.bmp,37,0,0,0);
}
},
//桌的信息显示
roundNum : function(isView, counts, nowCount){
if(isView || counts != null){
if(nowCount == null){
nowCount = NN_Desk.nowCount;
}
if(counts == null){
counts = NN_Desk.roomtype[0];
}
var spid_c = NN_Sprite.deskInfo.count;
if(Utl.getIsInfinite() == 1){ //系统房间-无限局
set_self(spid_c,37,0,0,0);
} else {
//局数
if(nowCount < 10 && counts >= 10){
set_self(spid_c,7,"第 " + nowCount + "/" + counts + "局",0,0);
} else if(nowCount >= 10 && counts >= 10){
set_self(spid_c,7,"第" + nowCount + "/" + counts + "局",0,0);
} else if(nowCount < 10 && counts < 10){
set_self(spid_c,7,"第 " + nowCount + "/" + counts + " 局",0,0);
}
if(isView){
set_self(spid_c,37,1,0,0);
}
}
}else {
set_self(NN_Sprite.deskInfo.count,37,0,0,0);
}
},
//房间类型描述
setRoomTypeDes: function(roomDes){
set_self(NN_Sprite.deskInfo.typeDes,7,roomDes,0,0);
},
//房间类型描述
roomTypeDes: function(isView, roomDes){
if(isView){
set_self(NN_Sprite.deskInfo.typeDes,37,1,0,0);
}else {
set_self(NN_Sprite.deskInfo.typeDes,37,0,0,0);
}
},
//模式图标 (星星场、比赛场)
modelIcon: function(isView){
if(isView && NN_Desk.model_bean[0] == 1){
set_self(NN_Sprite.star.icon,37,1,0,0);
if(Utl.getIsInfinite() != 1){
set_self(NN_Sprite.star.des,7,"倍:" + NN_Desk.model_bean[2] + " 限:"+ NN_Desk.model_bean[1],0,0);
set_self(NN_Sprite.star.des,37,1,0,0);
}
}else{
set_self(NN_Sprite.star.icon,37,0,0,0);
set_self(NN_Sprite.star.des,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(NN_Sprite.forceBetDes,7,"强制下注:" + NN_config.force_bet[2],0,0);
set_self(NN_Sprite.forceBetDes,37,1,0,0);
} else{
set_self(NN_Sprite.forceBetDes,37,0,0,0);
}
},
//显示无序发牌
disorderDealBtn: function(isView){
NN_UIF.disorderDeal.showBtn(isView);
}
};
//牛牛界面显示
NN_UIP.show = {
//隐藏
hide: function(){
this.zhuang();
this.robZhuang();
this.rollDice();
this.ensureZhuang();
this.betScore();
this.betScoreAgain();
this.firstBetState();
this.onRobPutTips();
},
//ontime定时器
ontime : function(gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong,/* 开启后运行多少次了 */ alltimes){
if(spid == 711 && this._ensureZhuangVal){ //庄背景框闪动
set_self(711,57,0,0,0);
if(this._ensureZhuangVal.length == 1){
//显示庄
this._ensureZhuangVal = null;
this.zhuang(1, 1, 1, NN_Desk.model_fast);
//console.log("执行结束:"+ JSON.stringify(this._ensureZhuangVal));
//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]];
//显示庄背景框
if(wz == 0 || wz == 4 || wz == 5 || wz == 6){
set_self(NN_Sprite.zhuangBg.id, 18, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 18) + NN_Sprite.zhuangBg.position[0],0,0);
set_self(NN_Sprite.zhuangBg.id, 19, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 19) + NN_Sprite.zhuangBg.position[1],0,0);
set_self(NN_Sprite.zhuangBg.id, 20, NN_Sprite.zhuangBg.size[0][0], 0, 0);
set_self(NN_Sprite.zhuangBg.id, 21, NN_Sprite.zhuangBg.size[0][1], 0, 0);
}else {
set_self(NN_Sprite.zhuangBg.id, 18, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 18) + NN_Sprite.zhuangBg.position[0],0,0);
set_self(NN_Sprite.zhuangBg.id, 19, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 19) + NN_Sprite.zhuangBg.position[1],0,0);
set_self(NN_Sprite.zhuangBg.id, 20, NN_Sprite.zhuangBg.size[1][0], 0, 0);
set_self(NN_Sprite.zhuangBg.id, 21, NN_Sprite.zhuangBg.size[1][1], 0, 0);
}
set_self(NN_Sprite.zhuangBg.id, 37, 1, 0, 0);
//
this._ensureZhuangVal.shift();
set_self(711,57,this._ensureZhuangVal[0][1],0,0);
//console.log("剩余次数 = " + this._ensureZhuangVal.length);
}
}
},
_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);
}
},
//搓摆牌提示
onRobPutTips: function(isView, isAnim, isSound, wz){
if(isView){
//搓摆牌中
if(wz == null){ return ; }
if(wz == 0){
//点三张牌选牛提示
set_self(NN_Sprite.selectCardTips, 18, get_self(NN_Sprite.onRobPut.relvSpid[wz], 18) + NN_Sprite.onRobPut.position[wz][0], 0, 0);
set_self(NN_Sprite.selectCardTips, 19, get_self(NN_Sprite.onRobPut.relvSpid[wz], 19) + NN_Sprite.onRobPut.position[wz][1], 0, 0);
set_self(NN_Sprite.selectCardTips, 37, 1, 0, 0);
set_self(NN_Sprite.selectCardTips, 41, 0, 0, 0);
//提示背景
set_self(NN_Sprite.selectCardTipsBmp, 18, get_self(NN_Sprite.onRobPut.idList[wz], 18) - 72,0,0);
set_self(NN_Sprite.selectCardTipsBmp, 19, get_self(NN_Sprite.onRobPut.idList[wz], 19) - 9,0,0);
set_self(NN_Sprite.selectCardTipsBmp, 37, 1, 0, 0);
set_self(NN_Sprite.selectCardTips, 41, 0, 0, 0);
}else {
set_self(NN_Sprite.onRobPut.idList[wz], 18, get_self(NN_Sprite.onRobPut.relvSpid[wz], 18) + NN_Sprite.onRobPut.position[wz][0], 0, 0);
set_self(NN_Sprite.onRobPut.idList[wz], 19, get_self(NN_Sprite.onRobPut.relvSpid[wz], 19) + NN_Sprite.onRobPut.position[wz][1], 0, 0);
set_self(NN_Sprite.onRobPut.idList[wz], 37, 1, 0, 0);
}
}else {
if(wz >= 0){ //隐藏单个
if(wz == 0){
set_self(NN_Sprite.selectCardTips, 37, 0, 0, 0);
set_self(NN_Sprite.selectCardTipsBmp, 37, 0, 0, 0);
}else {
set_self(NN_Sprite.onRobPut.idList[wz], 37, 0, 0, 0);
}
}else {
set_self(NN_Sprite.selectCardTips, 37, 0, 0, 0);
set_self(NN_Sprite.selectCardTipsBmp, 37, 0, 0, 0);
NN_Sprite.onRobPut.show(-1, 0);
}
}
},
//显示庄图标
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], zIcon = NN_Sprite.zhuang, animIcon = NN_Sprite.zhaungAnim;
//庄图标位置
set_self(zIcon.id,18,get_self(zIcon.relvSpid[wz], 18) + zIcon.position[wz][0],0,0);
set_self(zIcon.id,19,get_self(zIcon.relvSpid[wz], 19) + zIcon.position[wz][1],0,0);
set_self(zIcon.id,33,100,0,0);
set_self(zIcon.id,35,255,0,0);
set_self(zIcon.id,41,0,0,0);
set_self(zIcon.id,37,1,0,0);
//庄头像框
if(wz == 0 || wz == 4 || wz == 5 || wz == 6){
set_self(NN_Sprite.zhuangBg.id, 18, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 18) + NN_Sprite.zhuangBg.position[0],0,0);
set_self(NN_Sprite.zhuangBg.id, 19, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 19) + NN_Sprite.zhuangBg.position[1],0,0);
set_self(NN_Sprite.zhuangBg.id, 20, NN_Sprite.zhuangBg.size[0][0], 0, 0);
set_self(NN_Sprite.zhuangBg.id, 21, NN_Sprite.zhuangBg.size[0][1], 0, 0);
}else {
set_self(NN_Sprite.zhuangBg.id, 18, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 18) + NN_Sprite.zhuangBg.position[0],0,0);
set_self(NN_Sprite.zhuangBg.id, 19, get_self(NN_Sprite.zhuangBg.relvSpid[wz], 19) + NN_Sprite.zhuangBg.position[1],0,0);
set_self(NN_Sprite.zhuangBg.id, 20, NN_Sprite.zhuangBg.size[1][0], 0, 0);
set_self(NN_Sprite.zhuangBg.id, 21, NN_Sprite.zhuangBg.size[1][1], 0, 0);
}
set_self(NN_Sprite.zhuangBg.id, 41, 0, 0, 0);
set_self(NN_Sprite.zhuangBg.id, 37, 1, 0, 0);
if(isAnim){
//确定庄动画图坐标
set_self(animIcon.id,18,get_self(animIcon.relvSpid, 18) + animIcon.position[0],0,0);
set_self(animIcon.id,19,get_self(animIcon.relvSpid, 19) + animIcon.position[1],0,0);
set_self(animIcon.id,37,1,0,0);
//庄图标缩小
play_ani(1,zIcon.id,35,0,255,0,100,0,0,0,1,0,0);
play_ani(1,zIcon.id,33,350,100,0,250,0,100,0,1,0,0);
//庄动画变帧
play_ani(1,animIcon.id,43,1,24,0,720,0,200,0,1,0,0);
//定时刷新庄位置
this._toId.zhuang.t1 = window.setTimeout(function(){
this._toId.zhuang.t1 = -1;
//刷新庄背景框显示
this.zhuang(true,false,false);
}.bind(this),950);
//播放音效
if(isSound){
NN_playSound("qdz",0);
}
return 800;
} else {
//隐藏庄动画
set_self(animIcon.id,37,0,0,0);
return 1;
}
} else {
NN_UIP.clearTimeout(this._toId.zhuang);
play_ani(0,NN_Sprite.zhuang.id,0);
play_ani(0,NN_Sprite.zhaungAnim.id,0);
set_self(NN_Sprite.zhuang.id,37,0,0,0);
set_self(NN_Sprite.zhaungAnim.id,37,0,0,0);
set_self(NN_Sprite.zhuangBg.id, 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];
//位置- 区分下注抢庄
if(NN_Desk.model == 5){
set_self(NN_Sprite.robState.idList[wz],18,get_self(NN_Sprite.robState.relvSpid[wz], 18) + NN_Sprite.robState.posModel5[wz][0],0,0);
set_self(NN_Sprite.robState.idList[wz],19,get_self(NN_Sprite.robState.relvSpid[wz], 19) + NN_Sprite.robState.posModel5[wz][1],0,0);
} else {
NN_Sprite.robState.setPosition(wz);
}
//
if(NN_Desk.robList[seat] == 1){//抢
set_self(NN_Sprite.robState.idList[wz],43,1,0,0);
set_self(NN_Sprite.robState.idList[wz],37,1,0,0);
if(isSound){
NN_playSound("rob",0,Utl.getSexBySeat(seat));
}
}else if(NN_Desk.robList[seat] == -1){
set_self(NN_Sprite.robState.idList[wz],43,2,0,0);
set_self(NN_Sprite.robState.idList[wz],37,1,0,0);
if(isSound){
NN_playSound("norob",0,Utl.getSexBySeat(seat));
}
}
//显示
//set_self(NN_Sprite.robState.idList[wz],37,1,0,0);
//隐藏抢庄按钮
if(NN_Desk.myseat == seat){ //自己抢庄隐藏按钮
NN_UIP.btn.robZhuang();
}
}
} else {
NN_Sprite.robState.show(-1, 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_UIP.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_UIP.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_UIP.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 = []; //抢庄列表
var _len = 0;
//统计抢庄玩家列表
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;
}
}
}
_len = _robList.length;
if(_robList.length <= 5){
_len = 10;
}else {
_len = 20;
}
//获取闪动桌位列表
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 < _len);
this._ensureZhuangVal = this._ensureZhuangVal.concat(arr_1.slice(0));
}else{
return 5;
}
//console.log("闪动次数: " + this._ensureZhuangVal.length);
//this._ensureZhuangVal.splice(0,this._ensureZhuangVal.length-10);
NN_UI.time_start = (new Date()).getTime();
var timeCount = 0;
//闪动座位时加上对应闪动时间
//var a = Math.floor((2*1100)/Math.pow(this._ensureZhuangVal.length,2));
//计算递增时间增量
var startLen = 5, keepTime = 1000, time_V0 = 40, time_T = this._ensureZhuangVal.length - startLen, addVal;
if(_len == 20){
if(this._ensureZhuangVal.length > 23){
this._ensureZhuangVal.splice(0, Math.round(this._ensureZhuangVal.length * 0.3));
}else {
this._ensureZhuangVal.splice(0, Math.round(this._ensureZhuangVal.length * 0.2));
}
startLen = Math.round(this._ensureZhuangVal.length * 0.7);
time_T = this._ensureZhuangVal.length - startLen;
if(this._ensureZhuangVal.length > 18){
keepTime -= (this._ensureZhuangVal.length - 18) * 50;
}
//console.log("startLen = " + startLen);
//console.log("time_T = " + time_T);
addVal = Math.round((_time - 1000 - time_V0 * (startLen - 1) - time_V0 * time_T) * 2 / (time_T * time_T));
}else {
addVal = Math.round((_time - 600 - 45*(this._ensureZhuangVal.length - startLen)) / ((6 + this._ensureZhuangVal.length) * (this._ensureZhuangVal.length - startLen) / 2 - (this._ensureZhuangVal.length - startLen) * startLen));
}
for(var i=0; i<this._ensureZhuangVal.length; i++){
if(i > startLen){
this._ensureZhuangVal[i] = [this._ensureZhuangVal[i], time_V0 + addVal * (i - startLen)];
}else {
this._ensureZhuangVal[i] = [this._ensureZhuangVal[i], time_V0];
}
timeCount += this._ensureZhuangVal[i][1];
}
//console.log("addVal = "+addVal+" _ensureZhuangVal = " + JSON.stringify(this._ensureZhuangVal));
//console.log("闪动次数: " + this._ensureZhuangVal.length);
//console.log("timeCount = " + timeCount);
//ontime定时执行
set_self(711,57,this._ensureZhuangVal[0][1],0,0);
//console.log("停止闪动时间:"+_time);
//定时
this._toId.ensureZhuang.t1 = window.setTimeout(function(){
NN_UIP.show._toId.ensureZhuang.t1 = -1;
//console.log("停止闪动");
//停止闪动
set_self(711,57,0,0,0);
NN_UIP.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_UIP.show.betScore(1,0,0,NN_Desk.myseat, NN_Desk.pList[NN_Desk.myseat].betScore);
}
//调用回调函数
if(callBackFunc){
callBackFunc();
}
}, _time + 100);
return 2000;
}else{
NN_UIP.clearTimeout(this._toId.ensureZhuang);
//
set_self(711,57,0,0,0);
this._ensureZhuangVal = null;
}
},
//下注分数显示
betScore: function(isView, isAnim, isSound, seat, score){
if(isView && seat != null && score != null){
var wz = NN_SF[seat], len = String(score).length,
spid_bmp = NN_Sprite.betBmp.idList[wz],
spid_val = NN_Sprite.betVal.idList[wz],
spid_gold = NN_Sprite.betGoldIcon.idList[wz],
scoreWide = NN_Sprite.betVal.size[0],
defScoLen = 4; //默认分数长度
//背景框初始位置
NN_Sprite.betBmp.setPosition(wz);
//背景框位置根据分数调整 17
if(len <= defScoLen){
set_self(spid_bmp, 20, NN_Sprite.betBmp.size[0], 0, 0);
}else {
if(wz == 0 || wz == 4 || wz == 5 || wz == 6){
set_self(spid_bmp, 18, get_self(spid_bmp, 18) - (len - defScoLen) * (scoreWide / 2), 0, 0);
set_self(spid_bmp, 20, NN_Sprite.betBmp.size[0] + (len - defScoLen) * scoreWide, 0, 0);
}else if(wz == 1 || wz == 2 || wz == 3){
set_self(spid_bmp, 18, get_self(spid_bmp, 18) - (len - defScoLen) * scoreWide, 0, 0);
set_self(spid_bmp, 20, NN_Sprite.betBmp.size[0] + (len - defScoLen) * scoreWide, 0, 0);
} else {
set_self(spid_bmp, 20, NN_Sprite.betBmp.size[0] + (len - defScoLen) * scoreWide, 0, 0);
}
}
set_self(spid_bmp, 21, NN_Sprite.betBmp.size[1], 0, 0);
set_self(spid_bmp, 41, 0, 0, 0);
//金币图标
set_self(spid_gold, 18, get_self(spid_bmp, 18) + NN_Sprite.betGoldIcon.position[0], 0, 0);
set_self(spid_gold, 19, get_self(spid_bmp, 19) + NN_Sprite.betGoldIcon.position[1], 0, 0);
set_self(spid_gold, 20, NN_Sprite.betGoldIcon.size[0], 0, 0);
set_self(spid_gold, 21, NN_Sprite.betGoldIcon.size[0], 0, 0);
set_self(spid_gold, 41, 0, 0, 0);
//分数
set_self(spid_val, 7, score, 0, 0);
set_self(spid_val, 20, len * scoreWide, 0, 0);
set_self(spid_val, 21, NN_Sprite.betVal.size[1], 0, 0);
set_self(spid_val, 18, Math.floor(NN_Sprite.betGoldIcon.size[0] / 4.5) + get_self(spid_bmp, 18) + (get_self(spid_bmp, 20) - len * scoreWide) / 2 , 0, 0);
set_self(spid_val, 19, get_self(spid_bmp, 19) + 6, 0, 0);
set_self(spid_val, 41, 0, 0, 0);
//显示
set_self(spid_val, 37, 1, 0, 0);
set_self(spid_bmp, 37, 1, 0, 0);
set_self(spid_gold, 37, 1, 0, 0);
if(wz == 0){
NN_Tips.words();
}
if(isSound){
NN_playSound("xz");
}
}else {
if(seat != null){
NN_Sprite.betBmp.show(NN_SF[seat], 0); //对应座位隐藏分数
NN_Sprite.betVal.show(NN_SF[seat], 0);
NN_Sprite.betGoldIcon.show(NN_SF[seat], 0);
}else{
NN_Sprite.betBmp.show(-1, 0); //全部隐藏
NN_Sprite.betVal.show(-1, 0);
NN_Sprite.betGoldIcon.show(-1, 0);
}
}
},
//玩家加注
betScoreAgain: function(isView, isAnim, isSound, seat, score){
if(isView && seat != null && score != null){
if(score < 0){return;}
var wz = NN_SF[seat], spid_ab = NN_Sprite.addBet.idList[wz], apid_val = NN_Sprite.addBetVal.idList[wz];
//加注文字位置
if(wz == 1 || wz == 2 || wz == 3){
set_self(spid_ab,18,get_self(NN_Sprite.addBet.relvSpid[wz], 18) + NN_Sprite.addBet.position[wz][0],0,0);
}else {
set_self(spid_ab,18,get_self(NN_Sprite.addBet.relvSpid[wz], 18) + get_self(NN_Sprite.addBet.relvSpid[wz], 20) + NN_Sprite.addBet.position[wz][0],0,0);
}
set_self(spid_ab,19,get_self(NN_Sprite.addBet.relvSpid[wz], 19) + NN_Sprite.addBet.position[wz][1],0,0);
set_self(spid_ab,20,NN_Sprite.addBet.size[0],0,0);
set_self(spid_ab,21,NN_Sprite.addBet.size[1],0,0);
if(score > 0){
//加注文字位置
if(wz == 1 || wz == 2 || wz == 3){
if(String(score).length > 2){
set_self(spid_ab,18,get_self(spid_ab, 18) - (String(score).length - 2) * NN_Sprite.addBetVal.size[0],0,0);
}else {
set_self(spid_ab,18,get_self(spid_ab, 18),0,0);
}
}
//加注数值位置
set_self(apid_val,7,score,0,0);
set_self(apid_val,20,String(score).length * NN_Sprite.addBetVal.size[0],0,0);
set_self(apid_val,21,NN_Sprite.addBetVal.size[1],0,0);
set_self(apid_val,19,get_self(NN_Sprite.addBetVal.relvSpid[wz], 19) + NN_Sprite.addBetVal.position[1],0,0);
if(String(score).length == 1){
set_self(apid_val,18,get_self(NN_Sprite.addBetVal.relvSpid[wz], 18) + NN_Sprite.addBetVal.position[0] + 8,0,0);
}else if(String(score).length >= 2){
set_self(apid_val,18,get_self(NN_Sprite.addBetVal.relvSpid[wz], 18) + NN_Sprite.addBetVal.position[0] ,0,0);
}
//显示
set_self(spid_ab,37,1,0,0);
set_self(spid_ab,43,1,0,0);
set_self(apid_val,37,1,0,0);
set_self(spid_ab,41,0,0,0);
set_self(apid_val,41,0,0,0);
}else if(score == 0){ //不加注
set_self(spid_ab,43,2,0,0);
set_self(spid_ab,37,1,0,0);
set_self(apid_val,37,0,0,0);
}else {
set_self(spid_ab,37,0,0,0);
set_self(apid_val,37,0,0,0);
}
if(wz == 0){
NN_Tips.words();
}
if(isSound){
NN_playSound("xz");
}
} else {
if(seat != null){ //隐藏个人下注
set_self(NN_Sprite.addBet.idList[NN_SF[seat]],37,0,0,0);
set_self(NN_Sprite.addBetVal.idList[NN_SF[seat]],37,0,0,0);
} else { //全部隐藏
NN_Sprite.addBet.show(-1, 0);
NN_Sprite.addBetVal.show(-1, 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_UIP.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_UIP.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_UIP.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_UIP.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_UIP.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_UIP.show.zhuang(1,1,1,isFast);
}
this._toId.okZhuang.t1 = setTimeout(function(){
this._toId.okZhuang.t1 = -1;
//显示下注按钮
//NN_UIF.btn.betScore(1,1,1,isFast);
if(callbackFunc){
callbackFunc(); //回调函数
}else {
if(Utl.getAppService()){//切后台就不显示动画
NN_UIP.btn.betScore(1,1,1,isFast);
}else {
NN_UIP.btn.betScore(1,0,0,isFast);
}
//显示计时闹钟
NN_UIP.countDown.show(NN_Desk.timeout_m.bet);
}
//关闭确定庄动画标记
NN_UIP.game._isAnim_okZhuang = false;
//开战动画标记取消
NN_UIP.game._isAnim_startWar = false;
//logmessage("确定庄动画执行完全",1);
}.bind(this), _time);
} else {
//关闭确定庄动画标记
NN_UIP.game._isAnim_okZhuang = false;
//开战动画标记取消
NN_UIP.game._isAnim_startWar = false;
NN_UIP.clearTimeout(this._toId.okZhuang);
NN_UIP.show.zhuang();
NN_UIF.anim.shuffleCards();
}
},
//搓牌时手指滑动
fingerSlide : function(isView, isAnim, isSound){
if(isView && NN_Desk.state == NN_state.rubCard){
var x = get_self(NN_Sprite.turnCardAnim.idList[0][0],18) + 10;
set_self(NN_Sprite.finger,18,x,0,0);
set_self(NN_Sprite.finger,19,get_self(NN_Sprite.turnCardAnim.idList[0][0],19) + 74,0,0);
set_self(NN_Sprite.finger,37,1,0,0);
set_self(NN_Sprite.finger,43,2,0,0);
set_self(NN_Sprite.finger,41,0,0,0);
play_ani(1,NN_Sprite.finger,18,x + 200,x,0,1000,0,0,0,0,0,0);
}else{
play_ani(0,NN_Sprite.finger,0);
set_self(NN_Sprite.finger,37,0,0,0);
}
},
};
//相关独立按钮
NN_UIP.btn = {
//隐藏
hide: function(){
this.robZhuang();
this.betScore();
this.sureCattle();
},
_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;
}
},
//确定牌类型按钮,有牛无牛
sureCattle: function(isView, isAnim, isSound){
if(isView){
set_self(NN_Sprite.btn.sureCattle, 37, 1, 0, 0);
set_self(NN_Sprite.btn.noCattle, 37, 1, 0, 0);
} else {
set_self(NN_Sprite.btn.sureCattle, 37, 0, 0, 0);
set_self(NN_Sprite.btn.noCattle, 37, 0, 0, 0);
}
},
//抢庄按钮
robZhuang: function(isView, isAnim, isSound){
//set_self(NN_Sprite.btn.rob, 37, 1, 0, 0);
//set_self(NN_Sprite.btn.noRob, 37, 1, 0, 0);
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(NN_Sprite.btn.rob,35,150,0,0);
}else{
set_self(NN_Sprite.btn.rob,35,255,0,0);
}
}else{
set_self(NN_Sprite.btn.rob,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(NN_Sprite.btn.noRob,18,NN_Sprite.btn.noRobPos[1][0],0,0);
set_self(NN_Sprite.btn.noRob,19,NN_Sprite.btn.noRobPos[1][1],0,0);
set_self(NN_Sprite.btn.rob,18,NN_Sprite.btn.robPos[1][0],0,0);
set_self(NN_Sprite.btn.rob,19,NN_Sprite.btn.robPos[1][1],0,0);
set_self(NN_Sprite.btn.noRob,37,1,0,0);
set_self(NN_Sprite.btn.rob,37,1,0,0);
}
}else {
set_self(NN_Sprite.btn.noRob,18,NN_Sprite.btn.noRobPos[0][0],0,0);
set_self(NN_Sprite.btn.noRob,19,NN_Sprite.btn.noRobPos[0][1],0,0);
set_self(NN_Sprite.btn.rob,18,NN_Sprite.btn.robPos[0][0],0,0);
set_self(NN_Sprite.btn.rob,19,NN_Sprite.btn.robPos[0][1],0,0);
set_self(NN_Sprite.btn.noRob,37,1,0,0);
set_self(NN_Sprite.btn.rob,37,1,0,0);
}
}else {
set_self(NN_Sprite.btn.rob, 37, 0, 0, 0);
set_self(NN_Sprite.btn.noRob, 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_UIP.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_UIP.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_UIP.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_UIP.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_UIP.card = {
//隐藏
hide: function(){
this.showBySeat();//牌
this.dealCards();
this.rubCard();
this.putCard();
this.cardTypeReward();
this.rubCardBack();
},
//ontime定时器
ontime: function(){
},
_toId: {
//发牌
dealCards:{
t1: -1,
t2: -1,
t2_1: -1,
t3: -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){
var wz = NN_SF[seat], cards = NN_Sprite.card.idList[wz];//方位、牌id、牌背
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(wz == 0){//牌样式转换
for(var j = 0; j < 4; j ++){
set_self(cards[j],1,561,0,0);
set_self(cards[j],43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[j]),0,0);
set_self(cards[j],20,NN_Sprite.card.mySize[0],0,0);
set_self(cards[j],21,NN_Sprite.card.mySize[1],0,0);
}
}
set_self(NN_Sprite.card.idList[NN_SF[i]][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 cBack = NN_Sprite.turnCardAnim.idList[wz];
//先判断搓牌
if(NN_Desk.pList[seat].rubcard.length < 2){
if(wz == 0){
//牌样式转换
for(var i=0;i<5;i++){
set_self(cards[i],1,561,0,0);
set_self(cards[i],43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
set_self(cards[i],20,NN_Sprite.card.mySize[0],0,0);
set_self(cards[i],21,NN_Sprite.card.mySize[1],0,0);
set_self(cards[i],41,1,0,0);
}
//搓牌牌背显示
NN_UIP.card.rubCardBack(1);
NN_Judge.isRub = -1;
//游戏结束时状态不改变
if(NN_Desk.state != NN_state.over){
NN_Desk.state = NN_state.rubCard;
}
//手指滑动
NN_UIP.anim.fingerSlide(true, isAnim, isSound);
}else{
for(var j=0;j<NN_Desk.pList[seat].rubcard.length;j++){
set_self(cards[NN_Desk.pList[seat].rubcard[i] - 1],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(cards[i],1,561,0,0);
set_self(cards[i],43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
set_self(cards[i],20,NN_Sprite.card.mySize[0],0,0);
set_self(cards[i],21,NN_Sprite.card.mySize[1],0,0);
}
//搓牌牌背隐藏
NN_UIP.card.rubCardBack();
//确定摆牌按钮显示
NN_UIP.btn.sureCattle(1);
if(NN_Judge.putLoc.length == 0){
//搓摆牌提示
NN_UIP.show.onRobPutTips(1,1,1,wz);
}
//游戏结束时状态不改变
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 {
//搓摆牌提示
NN_UIP.show.onRobPutTips(1,1,1,wz);
}
}
}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],
spids = NN_Sprite.card.idList[wz],
rSpid = NN_Sprite.card.relvSpid[wz];
for(var i=0;i<5;i++){
set_self(spids[i],18, get_self(rSpid, 18) + NN_Sprite.card.position[wz][0] + NN_Sprite.card.position[wz][2] * i,0,0);
set_self(spids[i],19, get_self(rSpid, 19) + NN_Sprite.card.position[wz][1],0,0);
//牌样式转换
//if(wz == 0){
//set_self(spid,1,515,0,0);
//}
set_self(spids[i],43, NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]), 0,0);
if(NN_SF[seat] == 0){
set_self(spids[i],20, NN_Sprite.card.mySize[0], 0,0);
set_self(spids[i],21, NN_Sprite.card.mySize[1], 0,0);
}else {
set_self(spids[i],20, NN_Sprite.card.size[0], 0,0);
set_self(spids[i],21, NN_Sprite.card.size[1], 0,0);
}
set_self(spids[i],34,0,0,0);
set_self(spids[i],37,1,0,0);
}
}else{
//隐藏该玩家的牌
if(seat >= 0){
NN_Sprite.card.show(NN_SF[seat], 0);
} else {
NN_Sprite.card.show(-1, 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_UIP.card.update(null, isAnim, isSound, isFast);
return;
}
if(!arr_sheet){
arr_sheet = [0,4];
}
//发牌动画
var _cardsLoc = []; //[[x坐标,y坐标,w宽,h高,间隔]]
var _spid = 0;
var wz = 0;
var _time = 400;//定时显示牌牌值
//发牌位置
for(var i = 0; i < NN_Desk.personMax; i ++){
for(var j = 0; j < 5; j ++){
_cardsLoc[i] = [get_self(NN_Sprite.card.relvSpid[i], 18) + NN_Sprite.card.position[i][0], get_self(NN_Sprite.card.relvSpid[i], 19) + NN_Sprite.card.position[i][1], NN_Sprite.card.position[i][2]];
}
}
//
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 = NN_Sprite.card.idList[wz][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,NN_Sprite.card.size[0],0,0);
set_self(_spid,21,NN_Sprite.card.size[1],0,0);
set_self(_spid,37,1,0,0);
//牌移动到对应位置
play_ani(1,_spid,18,610,_cardsLoc[wz][0] + _cardsLoc[wz][2] * 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), NN_Sprite.card.mySize[0], 0,400,0,j*100,0,1,0,0);
play_ani(1,_spid,21,get_self(_spid,21), NN_Sprite.card.mySize[1], 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(NN_Sprite.card.idList[wz][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_UIP.card._toId.dealCards.t1 = -1;
//是否发牌中
NN_UIP.card._isDealCards = false;
NN_Tips.words();
//玩家牌刷新
NN_UIP.update.cards();
//搓牌牌背NN_Sprite.cardTypeBmp.idList[0]
//NN_UIP.card.rubCardBack(1, 0, 0, NN_Desk.myseat);
if(NN_Desk.model == 4 || NN_Desk.model == 5){ //看牌抢庄
if(NN_Desk.state == NN_state.robZhuang){
//显示抢庄按钮
NN_UIP.btn.robZhuang(1,1,1);
//显示玩家抢庄状态
NN_UIP.update.robZhuang();
//显示计时闹钟
if(NN_Desk.model == 5 && NN_Desk.zhuang >= 0){
NN_UIP.countDown.show(NN_Desk.timeout_m.betAgain);
}else{
NN_UIP.countDown.show(NN_Desk.timeout_m.robzhuang);
}
}else {
NN_Desk.state = NN_state.rubCard;
//显示计时闹钟
NN_UIP.countDown.show(NN_Desk.timeout_m.rubput);
}
}else{
NN_Desk.state = NN_state.rubCard;
//显示计时闹钟
NN_UIP.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 {
NN_Judge.isDealCards = -1;
//是否发牌中
this._isDealCards = false;
//牌动画停止
for(var j=0; j<NN_Desk.personMax; j++){
for(var i=0; i<5; i++){
play_ani(0, NN_Sprite.card.idList[j][i], 0);
}
}
//停止发牌定时
NN_UIP.clearTimeout(this._toId.dealCards);
NN_UIP.clearInterval(this._toId.dealCards_iv);
}
},
//搓牌牌背
rubCardBack: function(isView, isAnim, isSound){
if (isView){
var spids = NN_Sprite.turnCardAnim.idList[0];
set_self(spids[0],18,get_self(NN_Sprite.card.idList[0][3],18),0,0);
set_self(spids[0],19,get_self(NN_Sprite.card.idList[0][3],19),0,0);
set_self(spids[0],20,get_self(NN_Sprite.card.idList[0][3],20),0,0);
set_self(spids[0],21,get_self(NN_Sprite.card.idList[0][3],21),0,0);
set_self(spids[0],37,1,0,0);
//
set_self(spids[1],18,get_self(NN_Sprite.card.idList[0][4],18),0,0);
set_self(spids[1],19,get_self(NN_Sprite.card.idList[0][4],19),0,0);
set_self(spids[1],20,get_self(NN_Sprite.card.idList[0][4],20),0,0);
set_self(spids[1],21,get_self(NN_Sprite.card.idList[0][4],21),0,0);
set_self(spids[1],37,1,0,0);
//隐藏已搓的牌
for(var i=0; i< NN_Desk.pList[NN_Desk.myseat].rubcard.length; i++){
set_self(spids[NN_Desk.pList[NN_Desk.myseat].rubcard[i] - 3], 37, 0, 0);
}
}else{
set_self(NN_Sprite.turnCardAnim.idList[0][0],37,0,0,0);
set_self(NN_Sprite.turnCardAnim.idList[0][1],37,0,0,0);
}
},
//搓牌
rubCard: function(isView, isAnim, isSound, isFast, seat, loc){
if(isView && seat != null){
var wz = NN_SF[seat], _time = 100, spids = NN_Sprite.turnCardAnim.idList[wz];
var _time = 100;
//显示翻牌动画
//
if(wz == 0){
//隐藏手指
NN_UIP.anim.fingerSlide();
set_self(spids[loc - 3],37,0,0,0);
}else {
_time = 400;
//console.log("搓牌,"+seat+" 第"+loc+"张牌是:"+NN_Desk.pList[seat].cards.cards[loc]);
//显示翻牌
if(isAnim){ //有动画
set_self(spids[loc - 3],18,get_self(NN_Sprite.card.idList[wz][loc], 18),0,0);
set_self(spids[loc - 3],19,get_self(NN_Sprite.card.idList[wz][loc], 19),0,0);
set_self(spids[loc - 3],20,get_self(NN_Sprite.card.idList[wz][loc], 20),0,0);
set_self(spids[loc - 3],21,get_self(NN_Sprite.card.idList[wz][loc], 21),0,0);
set_self(spids[loc - 3],37,1,0,0); //752+(wz-1)*2+loc-3
play_ani(1,spids[loc - 3],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(spids[loc - 3],37,0,0,0); //
set_self(NN_Sprite.card.idList[wz][loc], 43, NN_toCardImg(NN_Desk.pList[seat].cards.cards[loc]),0,0);
}.bind(this),500);
}else {
set_self(NN_Sprite.card.idList[wz][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(spids[loc - 3],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_UIP.anim.fingerSlide();
if(NN_Desk.pList[seat].rubcard.length == 2){
NN_Desk.state = NN_state.putCard;
//隐藏搓牌牌背
NN_UIP.card.rubCardBack();
if(NN_Desk.pList[seat].putcard != 1){
//显示自己摆牌确定按钮
NN_UIP.btn.sureCattle(1);
//选牌提示
if(NN_Judge.putLoc.length == 0){
//搓摆牌提示
NN_UIP.show.onRobPutTips(1,1,1,NN_SF[seat]);
}
}else { //已摆牌
//隐藏自己摆牌确定按钮
NN_UIP.btn.sureCattle(1);
//隐藏搓摆牌提示
NN_UIP.show.onRobPutTips(0,0,0,NN_SF[seat]);
}
}
}else{
if(NN_Desk.pList[seat].rubcard.length == 2 && NN_Desk.pList[seat].putcard != 1){
//显示摆牌状态
NN_UIP.show.onRobPutTips(1,1,1,NN_SF[seat]);
}
}
}
}.bind(this),_time);
}else {
if(seat != null){
NN_UIP.clearTimeout(this._toId.rubCard["p" + seat + "_1"]);
NN_UIP.clearTimeout(this._toId.rubCard["p" + seat + "_2"]);
//隐藏搓摆牌提示
NN_UIP.show.onRobPutTips(0,0,0,NN_SF[seat]);
//隐藏自己摆牌确定按钮
NN_UIP.btn.sureCattle(0);
} else {
NN_UIP.clearTimeout(this._toId.rubCard);
NN_UIP.show.onRobPutTips();
}
}
},
//搓摆所有玩家牌
putAllCard: function(isView, isAnim, isSound, isFast){
if(isView){
//隐藏搓摆牌提示
NN_UIP.show.onRobPutTips();
//隐藏自己摆牌确定按钮
NN_UIP.btn.sureCattle();
//隐藏手指
NN_UIP.anim.fingerSlide();
//显示出所有玩家的牌及牌型
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){
//牌型显示
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_UIP.show.firstBetState();
if(isView && NN_Desk.pList[seat].cards.cards.length == 5){
var spids = NN_Sprite.card.idList[NN_SF[seat]];
//刷新搓牌的牌显示
for(var i=0; i<NN_Desk.pList[seat].cards.cards.length; i++){
set_self(spids[i], 43,NN_toCardImg(NN_Desk.pList[seat].cards.cards[i]),0,0);
set_self(spids[i], 37,1,0,0);
}
//隐藏搓摆牌提示
NN_UIP.show.onRobPutTips(0,0,0,NN_SF[seat]);
if(NN_Desk.myseat == seat){
//隐藏自己摆牌确定按钮
NN_UIP.btn.sureCattle();
//隐藏手指
NN_UIP.anim.fingerSlide();
//缩小移动
var _time = 200;
for(var i=0;i<5;i++){
set_self(spids[i],37,1,0,0);
set_self(spids[i],41,0,0,0);
set_self(spids[i],34,0,0,0);
if(isAnim){ //有动画
play_ani(1,spids[i],20,get_self(spids[i],20),NN_Sprite.card.size[0],0,_time,0,0,0,1,0,0);
play_ani(1,spids[i],21,get_self(spids[i],21),NN_Sprite.card.size[1],0,_time,0,0,0,1,0,0);
play_ani(1,spids[i],19,get_self(spids[i],19),get_self(NN_Sprite.card.relvSpid[0], 19) + NN_Sprite.card.myPutPos[1],0,_time,0,0,0,1,0,0);
play_ani(1,spids[i],18,get_self(spids[i],18),get_self(NN_Sprite.card.relvSpid[0], 18) + NN_Sprite.card.myPutPos[0] + i * NN_Sprite.card.myPutPos[2],0,_time,0,0,0,1,0,0);
}else {
set_self(spids[i],20,NN_Sprite.card.size[0],0,0);
set_self(spids[i],21,NN_Sprite.card.size[1],0,0);
set_self(spids[i],19,get_self(NN_Sprite.card.relvSpid[0], 19) + NN_Sprite.card.myPutPos[1],0,0);
set_self(spids[i],18,get_self(NN_Sprite.card.relvSpid[0], 18) + NN_Sprite.card.myPutPos[0] + i * NN_Sprite.card.myPutPos[2],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(spids[j],1,515,0,0);
set_self(spids[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(spids[j],1,515,0,0);
set_self(spids[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_UIP.clearTimeout(this._toId.putCard);
this.putCard_1();
}
},
//摆牌 - 对应座位 - 第二步
putCard_1: function(isView, isAnim, isSound, isFast, seat){
if(isView && seat != null){
//显示牌型
var wz = NN_SF[seat],
cards = NN_Sprite.card.idList[wz], //牌
bgf = NN_Sprite.cardTypeBmp.idList[wz], //背景框 764
cType = NN_Sprite.cardType.idList[wz], //牌型 774
mult = NN_Sprite.cardTypeMult.idList[wz], //倍数 779
multVal = NN_Sprite.cardTypeMultVal.idList[wz]; //倍数值 982
noNiuMask = NN_Sprite.noNiuMask.idList[wz]; //无牛遮罩 906
set_self(cType,37,1,0,0);
set_self(mult,37,0,0,0);
//红底位置
set_self(bgf,20, NN_Sprite.cardTypeBmp.size[0],0,0);
set_self(bgf,21, NN_Sprite.cardTypeBmp.size[1],0,0);
set_self(bgf,18, get_self(cards[0],18) + NN_Sprite.cardTypeBmp.position[0],0,0);
set_self(bgf,19, get_self(cards[0],19) + NN_Sprite.cardTypeBmp.position[1],0,0);
set_self(bgf,37, 1,0,0);
//牌型位置
set_self(cType,1, 523,0,0);
set_self(cType,20, NN_Sprite.cardType.size[0], 0,0);
set_self(cType,21, NN_Sprite.cardType.size[1], 0,0);
//倍数是否需显示
set_self(cType,18, get_self(bgf,18) + NN_Sprite.cardType.position[0], 0,0);
set_self(cType,19, get_self(bgf,19) + NN_Sprite.cardType.position[1], 0,0);
set_self(cType,20, NN_Sprite.cardType.common[0][0], 0,0);
set_self(cType,21, NN_Sprite.cardType.common[0][1], 0,0);
//倍数
//set_self(multVal,20, NN_Sprite.cardTypeMultVal.size[0], 0,0);
set_self(multVal,21, NN_Sprite.cardTypeMultVal.size[1], 0,0);
set_self(multVal,18, get_self(bgf,18) + NN_Sprite.cardTypeMultVal.position[0], 0,0);
set_self(multVal,19, get_self(bgf,19) + NN_Sprite.cardTypeMultVal.position[1], 0,0);
set_self(multVal,37, 0,0,0);
//倍
set_self(mult,20, NN_Sprite.cardTypeMult.size[0], 0,0);
set_self(mult,21, NN_Sprite.cardTypeMult.size[1], 0,0);
set_self(mult,18, get_self(bgf,18) + NN_Sprite.cardTypeMult.position[0],0,0);
set_self(mult,19, get_self(bgf,19) + NN_Sprite.cardTypeMult.position[1],0,0);
set_self(mult,37, 0,0,0);
//位置调整
switch (NN_Desk.pList[seat].cards.type){
case "bigbomb": //7
case "bomb": //7
//牌型图标
set_self(cType,1,525,0,0);
if(NN_Desk.pList[seat].cards.type == "bigbomb"){
set_self(cType,43,2,0,0);
}else {
set_self(cType,43,1,0,0);
}
set_self(cType,20, NN_Sprite.cardType.bomb[0][0], 0,0);
set_self(cType,21, NN_Sprite.cardType.bomb[0][1], 0,0);
set_self(cType,18, get_self(bgf,18) + NN_Sprite.cardType.bomb[1][0], 0,0);
set_self(cType,19, get_self(bgf,19) + NN_Sprite.cardType.bomb[1][1], 0,0);
//倍数
//set_self(multVal,18,get_self(cards[0],18)+142,0,0);
//set_self(multVal,19,get_self(cards[0],19)+108,0,0);
//红底隐藏
set_self(bgf,37,0,0,0);
break;
case "hulu":
case "wuxiao":
case "wuhua": //
case "flush": //同花顺
//牌型图标
set_self(cType,1,524,0,0);
if(NN_Desk.pList[seat].cards.type == "hulu"){
set_self(cType,43,6,0,0);
}else if(NN_Desk.pList[seat].cards.type == "wuxiao"){
set_self(cType,43,3,0,0);
}else if(NN_Desk.pList[seat].cards.type == "wuhua"){
set_self(cType,43,2,0,0);
}else if(NN_Desk.pList[seat].cards.type == "flush"){
set_self(cType,43,5,0,0);
}
//红底位置
//set_self(bgf,20,296,0,0);
//set_self(bgf,18,get_self(cards[0],18)-35,0,0);
//set_self(bgf,19,get_self(cards[0],19)+67,0,0);
//牌型图标位置
set_self(cType,20, NN_Sprite.cardType.special[0][0], 0,0);
set_self(cType,21, NN_Sprite.cardType.special[0][1], 0,0);
set_self(cType,18, get_self(bgf,18) + NN_Sprite.cardType.special[1][0], 0,0);
set_self(cType,19, get_self(bgf,19) + NN_Sprite.cardType.special[1][1], 0,0);
//倍数
set_self(multVal,18, get_self(bgf,18) + NN_Sprite.cardTypeMultVal.position[0] + 5, 0,0);
//set_self(multVal,19, get_self(bgf,19) + NN_Sprite.cardTypeMultVal.position[1], 0,0);
break;
case "nn"://4
case "shunzi":
case "tonghua":
//牌型图标
set_self(cType,1,524,0,0);
if(NN_Desk.pList[seat].cards.type == "nn"){
set_self(cType,43,1,0,0);
}else if(NN_Desk.pList[seat].cards.type == "shunzi"){
set_self(cType,43,8,0,0);
}else if(NN_Desk.pList[seat].cards.type == "tonghua"){
set_self(cType,43,7,0,0);
}
set_self(cType,20, NN_Sprite.cardType.special[0][0], 0,0);
set_self(cType,21, NN_Sprite.cardType.special[0][1], 0,0);
set_self(cType,18, get_self(bgf,18) + NN_Sprite.cardType.special[1][0] + 5, 0,0);
//set_self(cType,19, get_self(bgf,19) + NN_Sprite.cardType.special[1][1] + 5, 0,0);
break;
case "wn"://1
set_self(bgf,37,0,0,0);
//半透明遮罩
set_self(noNiuMask,18, get_self(cards[0],18),0,0);
set_self(noNiuMask,19, get_self(cards[0],19),0,0);
set_self(noNiuMask,20, NN_Sprite.noNiuMask.size[0],0,0);
set_self(noNiuMask,21, NN_Sprite.noNiuMask.size[1],0,0);
set_self(noNiuMask,37,1,0,0);
//牌型图标
set_self(cType,43, 1,0,0);
set_self(cType,20, NN_Sprite.cardType.noCattle[0][0],0,0);
set_self(cType,21, NN_Sprite.cardType.noCattle[0][1],0,0);
//set_self(cType,18, get_self(noNiuMask,18)+NN_Sprite.cardType.noCattle[1][0],0,0);
//set_self(cType,19, get_self(noNiuMask,19)+NN_Sprite.cardType.noCattle[1][1],0,0);
set_self(cType,18, get_self(bgf,18)+NN_Sprite.cardType.noCattle[1][0],0,0);
set_self(cType,19, get_self(bgf,19)+NN_Sprite.cardType.noCattle[1][1],0,0);
//红底隐藏
set_self(bgf,37,0,0,0);
break;
default: //其他牌型位置设置,倍数大于1
set_self(cType,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(cType,18, get_self(bgf,18) + NN_Sprite.cardType.common[1][0], 0,0);
set_self(cType,19, get_self(bgf,19) + NN_Sprite.cardType.common[1][1], 0,0);
}
break;
}
//显示牌型图标
set_self(cType,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(multVal,7,NN_Desk.pList[seat].cards.Multiple,0,0);
set_self(multVal,20,String(NN_Desk.pList[seat].cards.Multiple).length * NN_Sprite.cardTypeMultVal.size[0],0,0);
set_self(multVal,37,1,0,0);
//倍
set_self(mult,18,get_self(multVal,18) + get_self(multVal,20),0,0);
set_self(mult,19,get_self(multVal,19),0,0);
set_self(mult,37,1,0,0);
}
}
//牌型缩放
if(isAnim){
play_ani(1,cType,33,80,140,0,200,0,0,0,1,0,0);
}else {
set_self(cType,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,cType,33,120,100,0,200,0,0,0,1,0,0);
}
//牌型奖励显示
if(seat == NN_Desk.myseat){
NN_UIP.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_UIP.countDown.hide();
}
}else {
NN_UIP.clearTimeout(this._toId.putCard_1);
if(seat >= 0){
play_ani(0,NN_Sprite.cardType.idList[NN_SF[seat]],0);
}
NN_Sprite.cardTypeBmp.show(-1, 0); //背景框 764
NN_Sprite.cardType.show(-1, 0); //牌型 774
NN_Sprite.cardTypeMult.show(-1, 0); //倍数 779
NN_Sprite.cardTypeMultVal.show(-1, 0); //倍数值 982
NN_Sprite.noNiuMask.show(-1, 0); //无牛遮罩 906
//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_UIP.net = {
//隐藏
hide: function(){
//清除定时器
if(this._toId.okZhuang > 0){
//logmessage("清除定时器-确定庄包后定时",1);
}
NN_UIP.clearTimeout(this._toId.okZhuang);
NN_UIP.clearTimeout(this._toId.dealCards);
NN_UIP.clearTimeout(this._toId.settlement);
//
},
//ontime定时器
ontime: function(){
},
//定时器id
_toId: {
okZhuang: { t1: -1 },
dealCards: { t1: -1 },
settlement:{ t1: -1 },
},
//准备阶段
readyStage: function(){
//隐藏界面
NN_UIP.hide();
//托管显示
NN_UI.trusteeshipState(true, false, NN_Desk.myseat);
//更新桌信息显示
NN_UIP.deskInfo.update();
//准备按钮显示
//Utl.setPlayerPrepare(NN_Desk.myseat, Utl.getPlayerReadyState(NN_Desk.myseat));
//Utl.setDeskStage(0);
//显示倒计时
NN_UIP.countDown.show(NN_Desk.timeout_m.ready);
},
//开战
startWar: function(startType, zhuang, data){
//隐藏界面
NN_UIP.hide();
//托管显示
NN_UI.trusteeshipState(true, false, NN_Desk.myseat);
//更新桌信息显示
NN_UIP.deskInfo.update();
//游戏开战时显示
NN_UIP.game.startWar(NN_Desk.model_fast, startType, zhuang, data);
},
//抢庄
robZhuang: function(seat, isrob){
//在开局动画过程中其他玩家抢庄不显示
if(!NN_UIP.game._isAnim_startWar){
NN_UIP.show.robZhuang(1,1,1, seat, isrob);
}
},
//确定庄
okZhuang: function(data){
//隐藏其他定时操作
this.hide();
//隐藏开战
NN_UIP.game.startWar();
//隐藏抢庄按钮
NN_UIP.btn.robZhuang();
//logmessage("收到确定庄包后定时",1);
//延迟显示
this._toId.okZhuang.t1 = setTimeout(function(){
this._toId.okZhuang.t1 = -1;
//隐藏玩家抢庄状态
NN_UIP.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_UIP.show.betScore(0,0,0, NN_Desk.zhuang);
//显示计时闹钟
NN_UIP.countDown.show(NN_Desk.timeout_m.betAgain);
//显示下注按钮
NN_UIP.btn.betScore(1,1,1,NN_Desk.model_fast,1);
}else{
//显示计时闹钟
NN_UIP.countDown.show(NN_Desk.timeout_m.bet);
//显示下注按钮
NN_UIP.btn.betScore(1,1,1);
}
}
};
NN_UIP.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_UIP.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_UIP.game._isAnim_okZhuang){ //确定庄动画中不显示
NN_UIP.show.betScore(1,1,1,seat,score);
//加注提示
if(NN_Desk.model == 5 && NN_Desk.zhuang >= 0 && score2 != null){
NN_UIP.show.betScoreAgain(1,1,1,seat,score2);
}
}
//隐藏下注栏
if(seat == NN_Desk.myseat){
NN_UIP.btn.betScore();
}
},
//发牌
dealCards: function(dice, dealorder){
//优化-隐藏抢庄按钮
NN_UIP.btn.robZhuang();
//优化-隐藏玩家抢庄状态
NN_UIP.show.robZhuang();
//优化-刷新玩家的下注
NN_UIP.update.betScore();
//优化-更新庄显示
NN_UIP.update.zhuang();
//if(NN_Desk.model_fast != 1){//优化-正常版-停止确定庄动画
//NN_UIF.game.startWar();
//}
//隐藏其他定时操作
this.hide();
//隐藏下注栏
NN_UIP.btn.betScore();
//隐藏提示文字
NN_Tips.words();
//隐藏玩家计时
NN_UI.setCountDown();
NN_UIP.countDown.hide();
NN_UIP.card._isDealCards = false;
//显示发牌
this._toId.dealCards.t1 = window.setTimeout(function(){
this._toId.dealCards.t1 = -1;
if(NN_Desk.model == 4){ //看牌抢庄-发最后一张牌
NN_UIP.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_UIP.show.betScoreAgain();
//显示发最后一张牌
NN_UIP.card.dealCards(1,1,1, NN_Desk.model_fast, [], dealorder, [4,4]);
NN_Desk.state = NN_state.rubCard;
NN_UIP.show.betScore(0,0,0, NN_Desk.zhuang);
}else {
NN_Desk.state = NN_state.robZhuang;
NN_UIP.card.dealCards(1,1,1, NN_Desk.model_fast, dice, dealorder, [0,3]);
}
}else {
NN_UIP.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_UIP.card._isDealCards && this._toId.dealCards.t1 <= 0){ //发牌动画时不显示
NN_UIP.card.rubCard(1,1,1,NN_Desk.model_fast, seat, cardloc,card);
}
},
//摆牌
putCard: function(seat){
if(!NN_UIP.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_UIP.card.putCard(1,1,1, NN_Desk.model_fast, seat);
}
}
},
//全部搓摆牌
putAllCard: function(){
//隐藏其他定时操作
this.hide();
//关闭读条
NN_UI.setCountDown();
NN_UIP.countDown.hide();
//关闭手指滑动
NN_UIP.anim.fingerSlide();//关闭手指滑动
//关闭玩家的搓摆牌
NN_UIP.card.rubCard();
NN_UIP.card.putCard();
NN_UIP.card.putCard_1();
//显示所有玩家牌型
NN_UIP.card.putAllCard(1,1,1,NN_Desk.model_fast);
},
//结算
settlement: function(result){
//隐藏其他定时操作
this.hide();
//关闭手指滑动
NN_UIP.anim.fingerSlide();//关闭手指滑动
//关闭读条
NN_UI.setCountDown();
NN_UIP.countDown.hide();
//隐藏 - 搓摆牌及确定图片
set_group(203,37,0,0,0);
//更新庄显示
NN_UIP.update.zhuang();
var _time = 1600;
if(NN_Desk.model_fast != 1){
_time = 2500;
}
//定时显示结算
this._toId.settlement.t1 = window.setTimeout(function(){
NN_UIP.net._toId.settlement.t1 = -1;
//优化-刷新牌显示
NN_UIP.card.update();
NN_UIP.settlement.view(1,1,1,NN_Desk.model_fast, result);
}.bind(this),_time);
},
//游戏结束-总结算
gameOver: function(scores, rounds){
var bigWiner = -1;
bigWiner = NN_UIP.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_UIP.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_UIP.game._isAnim_startWar){
NN_UIP.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_UIP.game._isAnim_startWar){
NN_UIP.btn.betScore(1, 1, 1, NN_Desk.model_fast);
}
}else if(NN_Desk.model != 4 && !NN_UIP.game._isAnim_okZhuang){
NN_UIP.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_UIP.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_UIP.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_UIP.btn.betScore(1, 1, 1, NN_Desk.model_fast);
}
}else if(NN_Desk.model == 5){
if(!NN_UIP.game._isAnim_startWar){
NN_UIP.btn.betScore(1, 1, 1, NN_Desk.model_fast);
}
}
}
}
}
//托管
NN_UI.trusteeshipState(true, false, NN_Desk.myseat);
},
};
//每小局结算时显示
NN_UIP.settlement = {
//隐藏
hide: function(){
this.view(false);
},
//ontime定时器
ontime: function(){
},
//定时器id
_toId: {
settlement: {
t1: -1,
t2: -1,
t3: -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 = 300;
if(isAnim){
//显示玩家输赢分数
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_UIP.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, sLen = 0,
spid_bg = NN_Sprite.settScoreBg.idList,
spid_as = NN_Sprite.settAddSub.idList,
spid_win = NN_Sprite.settWinScore.idList,
spid_lose = NN_Sprite.settLoseScore.idList; //分数长度
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(spid_bg[wz],41,0,0,0);
set_self(spid_bg[wz],18,get_self(NN_Sprite.settScoreBg.relvSpid[wz], 18) + NN_Sprite.settScoreBg.position[wz][0],0,0);
set_self(spid_bg[wz],19,get_self(NN_Sprite.settScoreBg.relvSpid[wz], 19) + NN_Sprite.settScoreBg.position[wz][1],0,0);
//set_self(spid_bg[wz],19,get_self(346+wz,19)-12,0,0);
if(wz == 1 || wz == 2 || wz == 3){ //右侧
if(sLen > 2){
set_self(spid_bg[wz],18,get_self(346+wz,18) -25 - NN_Sprite.settWinScore.smallSize[0] * (sLen-2),0,0);
set_self(spid_bg[wz],20,199 + NN_Sprite.settWinScore.smallSize[0] * (sLen - 2),0,0);
}else {
set_self(spid_bg[wz],18,get_self(346+wz,18) - 48,0,0);
set_self(spid_bg[wz],20,199,0,0);
}
}else if(wz == 0 || wz == 4 || wz == 5 || wz == 6){ //上侧
set_self(spid_bg[wz],19,6,1,0);
if(sLen > 2){
set_self(spid_bg[wz],18,get_self(346+wz,18) -35 - NN_Sprite.settWinScore.smallSize[0] / 2 * (sLen-2),0,0);
set_self(spid_bg[wz],20,199 + NN_Sprite.settWinScore.smallSize[0]*(sLen - 2),0,0);
}else {
set_self(spid_bg[wz],18,get_self(346+wz,18) - 48,0,0);
set_self(spid_bg[wz],20,199,0,0);
}
} else { //左侧
if(sLen > 2){
set_self(spid_bg[wz],18,get_self(346+wz,18) - 63,0,0);
set_self(spid_bg[wz],20,199 + NN_Sprite.settWinScore.smallSize[0] *(sLen - 2),0,0);
}else {
set_self(spid_bg[wz],18,get_self(346+wz,18) - 48,0,0);
set_self(spid_bg[wz],20,199,0,0);
}
}
//加减符号
if(sLen == 0){
set_self(spid_as[wz],18,get_self(spid_bg[wz],18)+56,0,0);
}else{
set_self(spid_as[wz],18,get_self(spid_bg[wz],18) + (get_self(spid_bg[wz],20) - 30*sLen - 30)/2,0,0);
}
set_self(spid_as[wz],19,get_self(spid_bg[wz],19)+32,0,0);
if(result[i][0] > 0){
//加
set_self(spid_as[wz],43,1,0,0);
//数字
set_self(spid_win[wz],7,Math.abs(result[i][0]),0,0);
//宽高调整
if(sLen > 2){
set_self(spid_win[wz],19,get_self(spid_as[wz],19) - 3,0,0);
set_self(spid_win[wz],20,sLen * NN_Sprite.settWinScore.smallSize[0],0,0);
set_self(spid_win[wz],21,NN_Sprite.settWinScore.smallSize[1],0,0);
}else {
set_self(spid_win[wz],19,get_self(spid_as[wz],19) - 5,0,0);
set_self(spid_win[wz],20,sLen * NN_Sprite.settWinScore.size[0],0,0);
set_self(spid_win[wz],21,NN_Sprite.settWinScore.size[1],0,0);
}
if(result[i][0] >= 10){
set_self(spid_win[wz],18,get_self(spid_as[wz],18)+30,0,0);
}else {
set_self(spid_win[wz],18,get_self(spid_as[wz],18)+43,0,0);
}
set_self(spid_win[wz],37,1,0,0);
set_self(spid_as[wz],37,1,0,0);
set_self(spid_lose[wz],37,0,0,0);
//
set_self(spid_bg[wz],43,1,0,0);
set_self(spid_bg[wz],37,1,0,0);
//
if(isAnim){
play_box(1,spid_bg[wz],19,get_self(spid_bg[wz],19),-400,1410,500);
play_box(1,spid_as[wz],19,get_self(spid_as[wz],19),-400,1410,500);
play_box(1,spid_win[wz],19,get_self(spid_win[wz],19),-400,1410,500);
//赢分头像框动画
set_self(NN_Sprite.winAnim.idList[wz],18,get_self(NN_Sprite.winAnim.relvSpid[wz], 18) + NN_Sprite.winAnim.position[wz][0],0,0);
set_self(NN_Sprite.winAnim.idList[wz],19,get_self(NN_Sprite.winAnim.relvSpid[wz], 19) + NN_Sprite.winAnim.position[wz][1],0,0);
set_self(NN_Sprite.winAnim.idList[wz],41,0,0,0);
set_self(NN_Sprite.winAnim.idList[wz],37,1,0,0);
//播动画
if(wz == 0 || wz == 4 || wz == 5 || wz == 6){
play_ani(1, NN_Sprite.winAnim.idList[wz], 43, 1, 20, 0, 1000, 0, 0, 0, 1, 0, 0);
play_ani(1, NN_Sprite.winAnim.idList[wz], 37, 1, 0, 0, 10, 0, 1040, 0, 1, 0, 0);
}else {
play_ani(1, NN_Sprite.winAnim.idList[wz], 43, 1, 24, 0, 1200, 0, 0, 0, 1, 0, 0);
}
}else {
if(wz == 0 || wz == 4 || wz == 5 || wz == 6){ //上侧
set_self(spid_bg[wz],19,get_self(346+wz,19) - 12 - 20,0,0);
}else{
set_self(spid_bg[wz],19,get_self(346+wz,19) - 12 - 30,0,0);
}
set_self(spid_as[wz],19,get_self(spid_bg[wz],19) + 32,0,0);
set_self(spid_win[wz],19,get_self(spid_as[wz],19) - 5,0,0);
}
//
if(wz == 0 && isSound){
NN_playSound("sl");
}
}else if(result[i][0] < 0){
//减
set_self(spid_as[wz],43,2,0,0);
//数字
set_self(spid_lose[wz],7,Math.abs(result[i][0]),0,0);
//宽高调整
if(sLen > 2){
set_self(spid_lose[wz],19,get_self(spid_as[wz],19) - 3,0,0);
set_self(spid_lose[wz],20,sLen * NN_Sprite.settLoseScore.smallSize[0],0,0);
set_self(spid_lose[wz],21,NN_Sprite.settLoseScore.smallSize[1],0,0);
}else {
set_self(spid_lose[wz],19,get_self(spid_as[wz],19) - 5,0,0);
set_self(spid_lose[wz],20,sLen * NN_Sprite.settLoseScore.size[0],0,0);
set_self(spid_lose[wz],21,NN_Sprite.settLoseScore.size[1],0,0);
}
if(result[i][0] <= -10 ){
set_self(spid_lose[wz],18,get_self(spid_as[wz],18)+30,0,0);
}else {
set_self(spid_lose[wz],18,get_self(spid_as[wz],18)+43,0,0);
}
set_self(spid_lose[wz],37,1,0,0);
set_self(spid_as[wz],37,1,0,0);
set_self(spid_win[wz],37,0,0,0);
//
set_self(spid_bg[wz],43,2,0,0);
set_self(spid_bg[wz],37,1,0,0);
//
if(isAnim){
play_box(1,spid_bg[wz],19,get_self(spid_bg[wz],19),-400,1410,500);
play_box(1,spid_as[wz],19,get_self(spid_as[wz],19),-400,1410,500);
play_box(1,spid_lose[wz],19,get_self(spid_lose[wz],19),-400,1410,500);
}else {
if(wz == 0 || wz == 4 || wz == 5 || wz == 6){ //上侧
set_self(spid_bg[wz],19,get_self(346+wz,19) - 12 - 20,0,0);
}else {
set_self(spid_bg[wz],19,get_self(346+wz,19) - 12 - 30,0,0);
}
set_self(spid_as[wz],19,get_self(spid_bg[wz],19)+32,0,0);
set_self(spid_lose[wz],19,get_self(spid_as[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_UIP.update.playerScore(i,NN_Desk.pList[i].scores);
}
}
//Test.addScoreData(NN_Desk.nowCount-1 , i, result[i][0]);
}
if(isAnim){
//定时隐藏赢效果图片
this._toId.settlement.t3 = window.setTimeout(function(){
NN_UIP.settlement._toId.settlement.t3 = -1;
NN_Sprite.winAnim.show(-1, 0);
}.bind(wz),1220);
}
}else {
//停止动画
for(var i = 0; i < NN_Desk.personMax; i ++){
play_box(1,NN_Sprite.settScoreBg.idList[i],0);
play_box(1,NN_Sprite.settAddSub.idList[i],0);
play_box(1,NN_Sprite.settWinScore.idList[i],0);
play_box(1,NN_Sprite.settLoseScore.idList[i],0);
play_box(1,NN_Sprite.winAnim.idList[i],0);
}
//隐藏 分数
NN_Sprite.settScoreBg.show(-1, 0);
NN_Sprite.settAddSub.show(-1, 0);
NN_Sprite.settWinScore.show(-1, 0);
NN_Sprite.settLoseScore.show(-1, 0);
//赢动画
NN_Sprite.winAnim.show(-1, 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_UIP.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_UIP.gameOver = {
//隐藏
hide: function(){
this.view();
//计算器分数
this.multResult();
},
//ontime定时器
ontime: function(){
},
/*
//动态创建精灵列表
_addSpids: {
head: [1062, 11, 9, []], //头像
payCode [1074, 9, 38, []] //吱口令
name: [1063, 115, 15, []], //昵称
id: [1064, 115, 61, []], //玩家id
zdf: [1065, 287, 15, []], //总得分
jsh: [1066, 287, 60, []], //计算后
winScore: [[1067, 1068, 1069], 0,0, []],//赢分
jsScore: [[1070, 1071, 1072],0, 0, []], //计算后分数
bigWin: [1073, 265, 3, []] //大赢家
},
//标识id,删除用
_addSpids_tag: 1,
_addSpids_fspid: [1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061],
//添加
addPlayerInfoFrame: function(seat, ){
var spid;
//创建精灵-头像
this._addSpids_tag = 1;
spid = ifast_addtospritefromspritecopy(this._addSpids_fspid[seat], this._addSpids.head[0], this._addSpids.head[1], this._addSpids.head[2], this._addSpids_tag);
set_self(spid, 1, Utl.getHeadimgSrc(seat),0,0);
set_self(spid, 20, 88,0,0);
set_self(spid, 21, 88,0,0);
//创建精灵-昵称
this._addSpids_tag ++;
ifast_addtospritefromspritecopy(this._addSpids_fspid[seat], this._addSpids.name[0], this._addSpids.name[1], this._addSpids.name[2], this._addSpids_tag);
set_self(spid, 7, subString(Utl.getNicknameBySeat(scores[i][0]),8,1),0,0);
//创建精灵-id
this._addSpids_tag ++;
ifast_addtospritefromspritecopy(this._addSpids_fspid[seat], this._addSpids.id[0], this._addSpids.id[1], this._addSpids.id[2], this._addSpids_tag);
set_self(spid, 7, "ID:" + Utl.getPlayeridBySeat(scores[i][0]),0,0);
//创建精灵-总得分
this._addSpids_tag ++;
ifast_addtospritefromspritecopy(this._addSpids_fspid[seat], this._addSpids.zdf[0], this._addSpids.zdf[1], this._addSpids.zdf[2], this._addSpids_tag);
//创建精灵-计算后
this._addSpids_tag ++;
ifast_addtospritefromspritecopy(this._addSpids_fspid[seat], this._addSpids.jsh[0], this._addSpids.jsh[1], this._addSpids.jsh[2], this._addSpids_tag);
//创建精灵-赢分+-
this._addSpids_tag ++;
ifast_addtospritefromspritecopy(this._addSpids_fspid[seat], this._addSpids.winScore[0], this._addSpids.winScore[1], this._addSpids.winScore[2], this._addSpids_tag);
。。。。。
},
*/
//显示总结算界面
view: function(isView, isAnim, isSound, isFast, scores, rounds){
//游戏结束-显示结算
if(isView && scores != null && NN_Desk.state == NN_state.over){
//隐藏窗口
Utl.closeWindow();
//关闭牌型奖励界面
NN_UIP.card.cardTypeReward();
//隐藏准备按钮
set_self(515,37,0,0,0);
NN_Judge.isDisband = -1;
//显示背景框
//set_group(411,37,1,0,0);
set_self(1801,37,1,0,0);
set_self(1802,37,1,0,0);
var wz = 0, arr_scores = [], _arr = [], playPos = [];
NN_Judge.headViewList = [];
//玩家背景及头像显示
for(var i = 0; i < NN_Desk.personMax; i ++){
//玩家背景
set_self(1803+i,37,1,0,0);
set_self(1803+i,35,77,0,0);
//头像
set_self(1813+i,1,613,0,0);
set_self(1813+i,18,get_self(1803 + i, 18) + 11,0,0);
set_self(1813+i,19,get_self(1803 + i, 19) + 9,0,0);
set_self(1813+i,20,88,0,0);
set_self(1813+i,21,88,0,0);
set_self(1813+i,35,77,0,0);
set_self(1813+i,37,1,0,0);
//自己背景变帧
if(NN_Desk.myseat == i){
set_self(1813+i,43,2,0,0);
} else {
set_self(1813+i,43,1,0,0);
}
}
//显示具体玩家信息
for(var i=0;i<scores.length;i++){
wz = scores[i][0];
playPos = [get_self(1803 + wz, 18), get_self(1803 + wz, 19)];
//玩家背景
//set_self(1803+wz,37,1,0,0);
set_self(1803+wz,35,255,0,0);
//头像
set_self(1813+wz,1,Utl.getHeadimgSrc(wz),0,0);
//set_self(1813+wz,18,playPos[0] + 11,0,0);
//set_self(1813+wz,19,playPos[1] + 9,0,0);
set_self(1813+wz,20,88,0,0);
set_self(1813+wz,21,88,0,0);
set_self(1813+wz,35,255,0,0);
//set_self(1813+wz,37,1,0,0);
//昵称
//NN_UI.setWordsLoc(864+wz,subString(Utl.getNicknameBySeat(scores[i][0]),8,1),get_self(854+wz,18)+86,273,11,28);
set_self(1823+wz,7,subString(Utl.getNicknameBySeat(scores[i][0]),8,1),0,0);
set_self(1823+wz,18,playPos[0] + 115,0,0);
set_self(1823+wz,19,playPos[1] + 15,0,0);
set_self(1823+wz,37,1,0,0);
//ID
//NN_UI.setWordsLoc(949+wz,"ID:" + Utl.getPlayeridBySeat(scores[i][0]),get_self(1813+wz,18)+59,303,9,21);
set_self(1833+wz,7,"ID:" + Utl.getPlayeridBySeat(scores[i][0]),0,0);
set_self(1833+wz,18,playPos[0] + 115,0,0);
set_self(1833+wz,19,playPos[1] + 61,0,0);
set_self(1833+wz,37,1,0,0);
//总得分
set_self(1843+wz,18,playPos[0] + 287,0,0);
set_self(1843+wz,19,playPos[1] + 15,0,0);
set_self(1843+wz,37,1,0,0);
//计算后
set_self(1853+wz,18,playPos[0] + 287,0,0);
set_self(1853+wz,19,playPos[1] + 60,0,0);
//set_self(1853+wz,37,1,0,0);
//分数
NN_UI.setNumberLoc(1863+wz*3,1864+wz*3,1865+wz*3,scores[i][1],playPos[0] + 482,playPos[1] + 13,30,38);
//
arr_scores.push(scores[i][1]);
_arr.push([Utl.getNicknameBySeat(scores[i][0]), scores[i][1]]);
//头像显示记录
NN_Judge.headViewList.push(1813+wz);
//吱口令显示
if(Utl.getPayCodeBySeat(scores[i][0])){
set_self(1933+wz,37,1,0,0);
}
}
//分享好友
set_self(925,41,1,0,0);
if(Utl.getShowShare() == 0){
set_self(925,37,1,0,0);
//分享朋友圈
set_self(957,37,1,0,0);
}
//复制结果
set_self(981,37,1,0,0);
//判断大赢家
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(1923+_max[i][0],18,get_self(1843+_max[i][0], 18) - 22,0,0);
set_self(1923+_max[i][0],19,get_self(1843+_max[i][0], 19) - 12,0,0);
set_self(1923+_max[i][0],37,1,0,0);
//判断自己是否为大赢家
if(_max[i][0] == NN_Desk.myseat){
bigWiner = 1;
}
}
}
NN_Desk.state = NN_state.over;
//音效
if(isSound){
NN_playSound("js");
}
//显示房主图标
if(NN_Desk.owner.seat >= 0){
set_self(1943,18,get_self(1813 + NN_Desk.owner.seat,18) - 3,0,0);
set_self(1943,19,get_self(1813 + NN_Desk.owner.seat,19) - 19,0,0);
set_self(1943,37,1,0,0);
} else {
set_self(1943,37,0,0,0);
//单独显示房主信息
set_self(1944,37,1,0,0);
set_self(1945,7,NN_Desk.owner.name,0,0);
set_self(1946,7,NN_Desk.owner.id,0,0);
set_self(1945,37,1,0,0);
set_self(1946,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(411,37,0,0,0);
this.multResult();
}
},
//显示总结算计算后的分数
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);
NN_UI.setNumberLoc(1893+wz*3, 1894+wz*3, 1895+wz*3, _scores[i], get_self(1803 + wz, 18) + 482, get_self(1803 + wz, 19) + 65, 21, 26);
set_self(1853 + wz,37,1,0,0);
}
}else {
this.multResult();
}
}
} else {
for(var i = 1893; i < 1922; i ++){
set_self(i,37,0,0,0);
}
for(var i = 0; i < 10; i ++){
set_self(1853 + i,37,0,0,0);
}
}
},
//解散房间
disbandGame: function(data){
}
};
//玩家定时器读条
NN_UIP.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_UIP.countDown.show(NN_Desk.timeout_m.ready);
}else {
NN_UIP.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_UIP.countDown.show(Math.floor(_time/1000));
}else if(_time >= 0 && _time < 1000){
//NN_UI.setCountDown(1);
NN_UIP.countDown.show(1);
}
},
};