删除 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>
4264 lines
133 KiB
JavaScript
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);
|
|
}
|
|
},
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|