430 lines
9.4 KiB
JavaScript
430 lines
9.4 KiB
JavaScript
/*
|
||
测试用
|
||
*/
|
||
//|| (Utl.getIsInfinite() == 1 && Utl.getPlayerReadyState(NN_Desk.myseat) != 1)
|
||
|
||
|
||
//测试
|
||
var Test = Test || {};
|
||
//测试数据
|
||
Test.data = {
|
||
roundResult: [],
|
||
roundScores: [],
|
||
totalScores: [],
|
||
};
|
||
|
||
Test.addScoreData = function(round, seat, score){
|
||
//添加回合分数
|
||
if(!this.data.roundScores[round]){
|
||
this.data.roundScores[round] = [];
|
||
}
|
||
this.data.roundScores[round][seat] = score;
|
||
//统计玩家总分数
|
||
if(!this.data.totalScores[seat]){
|
||
this.data.totalScores[seat] = 0;
|
||
}
|
||
this.data.totalScores[seat] += score;
|
||
};
|
||
//
|
||
Test.logDataString = function(){
|
||
for(var sx in this.data){
|
||
console.log( sx + " = " + JSON.stringify(this.data[sx]));
|
||
}
|
||
};
|
||
|
||
Test.AnalysisData = function(roundNum, roundNumMax, sysCutPercent){
|
||
//有效局数
|
||
var rCount = Math.floor(Test.data.roundScores.length / roundNum);
|
||
if(roundNumMax < rCount){
|
||
rCount = roundNumMax;
|
||
}
|
||
console.log("有效"+ roundNum +"局数:" + rCount);
|
||
//统计每局玩家最后输赢分数
|
||
var pScores = [];
|
||
var sysCutScore = 0;
|
||
var arr = [];
|
||
for(var i=0;i<rCount;i++){
|
||
pScores[i] = [0,0,0,0,0];
|
||
for(var j=0;j<roundNum;j++){
|
||
pScores[i][0] += Test.data.roundScores[i*roundNum + j][0];
|
||
pScores[i][1] += Test.data.roundScores[i*roundNum + j][1];
|
||
pScores[i][2] += Test.data.roundScores[i*roundNum + j][2];
|
||
pScores[i][3] += Test.data.roundScores[i*roundNum + j][3];
|
||
pScores[i][4] += Test.data.roundScores[i*roundNum + j][4];
|
||
}
|
||
arr = pScores[i].slice();
|
||
arr.sort(function(a,b){return a<b?1:0;});
|
||
sysCutScore += Math.floor(arr[0] * sysCutPercent);
|
||
}
|
||
console.log("局数对应每局玩家输赢分数:" + JSON.stringify(pScores));
|
||
//
|
||
console.log("抽成:" + sysCutScore);
|
||
};
|
||
|
||
|
||
Test.judge = {
|
||
triggerMode : [3,1,3], //触发自动出牌模式参数
|
||
times_click0 : 0,
|
||
times_click1 : 0,
|
||
times_click2 : 0,
|
||
};
|
||
|
||
|
||
//测试用-自动操作
|
||
Test.autoOpt = {
|
||
//是否开启
|
||
isOpen : false,
|
||
//自动模式:-1默认随机 1-托管 0-只自动搓摆牌
|
||
_mode : 0,
|
||
//开启
|
||
open: function(mode){
|
||
if(mode != null){
|
||
this._mode = mode;
|
||
}else {
|
||
this._mode = 0;
|
||
}
|
||
this.isOpen = true;
|
||
|
||
//自动操作
|
||
this.timeout_myOpt(1000);
|
||
},
|
||
|
||
//关闭测试
|
||
close: function(){
|
||
this.isOpen = false;
|
||
this._mode = 0;
|
||
this.clearTimeout();
|
||
},
|
||
//自动操作延迟时间配置
|
||
cfg_time: {
|
||
|
||
},
|
||
//玩家自动操作时参数配置
|
||
cfg_val: {
|
||
robZhuang: -1, //抢庄0-未操作,1-抢庄,-1-不抢
|
||
betScore: 5 //下注分数
|
||
},
|
||
|
||
//定时器id
|
||
_toId: {
|
||
timeout_myOpt: { t1: -1 },
|
||
myOpt: {
|
||
t1: -1,
|
||
t2: -1,
|
||
t3: -1,
|
||
t4: -1,
|
||
},
|
||
robZhuang: { t1: -1 },
|
||
betScore: { t1: -1 },
|
||
rubCard: { t1: -1 },
|
||
putCard: { t1: -1 }
|
||
},
|
||
|
||
//清除定时器
|
||
clearTimeout: function(){
|
||
for(var obj_sx in this._toId){
|
||
for(var sx in obj_sx){
|
||
if(obj_sx[sx] > -1){
|
||
clearTimeout(obj_sx[sx]);
|
||
obj_sx[sx] = -1;
|
||
}
|
||
}
|
||
}
|
||
},
|
||
|
||
//定时执行自动操作
|
||
timeout_myOpt : function(_time){
|
||
if(NN_Desk && this.isOpen){
|
||
if(_time == null){
|
||
this.myOpt();
|
||
}else {
|
||
this._toId.timeout_myOpt.t1 = setTimeout(function(){
|
||
this._toId.timeout_myOpt.t1 = -1;
|
||
this.myOpt();
|
||
}.bind(this),_time);
|
||
}
|
||
}
|
||
},
|
||
|
||
//自己自动操作
|
||
myOpt : function(){
|
||
if(this.isOpen && Utl.getInfMode() == 1){
|
||
//根据不同阶段操作
|
||
if(NN_Desk.state == NN_state.robZhuang){
|
||
//抢庄
|
||
if(NN_Desk.robList[NN_Desk.myseat] == 0){ //未操作
|
||
if(this._mode == 1){ //托管
|
||
if(this.cfg_val.robZhuang != 0){
|
||
this.robZhuang(this.cfg_val.robZhuang);
|
||
} else{
|
||
this.robZhuang(-1);
|
||
}
|
||
}else if(this._mode == -1){
|
||
//随机抢庄
|
||
if(parseInt(Math.random()*2) == 1){
|
||
//不抢
|
||
this.robZhuang(-1);
|
||
}else {
|
||
//抢
|
||
this.robZhuang(1);
|
||
};
|
||
}
|
||
}
|
||
}else if(NN_Desk.state == NN_state.bet){
|
||
//下注
|
||
if(NN_Desk.zhuang != NN_Desk.myseat && NN_Desk.pList[NN_Desk.myseat].betScore <= 0){ //未操作
|
||
if(this._mode == 1){ //托管
|
||
if(this.cfg_val.betScore > 0){
|
||
this.betScore(this.cfg_val.betScore);
|
||
}else {
|
||
var _score = 1;
|
||
switch (NN_Desk.model_bet){
|
||
case 10:
|
||
_score = 5;
|
||
break;
|
||
case 5:
|
||
_score = 3;
|
||
break;
|
||
case 3:
|
||
_score = 2;
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
this.betScore(_score);
|
||
}
|
||
}else if(this._mode == -1){ //托管
|
||
var _score = 1;
|
||
switch (NN_Desk.model_bet){
|
||
case 10:
|
||
_score = parseInt(Math.random()*10 + 1, 10);
|
||
break;
|
||
case 5:
|
||
_score = parseInt(Math.random()*5 + 1, 10);
|
||
break;
|
||
case 3:
|
||
_score = parseInt(Math.random()*3 + 1, 10);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
this.betScore(_score);
|
||
}
|
||
}
|
||
}else if(NN_Desk.state == NN_state.rubCard){
|
||
//搓牌
|
||
if(NN_Desk.pList[NN_Desk.myseat].rubcard.length == 0){
|
||
//搓第一张牌
|
||
this.rubCard(3);
|
||
|
||
NN_UI.rubPutUI_anim();
|
||
set_self(750,37,0,0,0);
|
||
NN_Desk.pList[NN_Desk.myseat].rubcard[0] = 3;
|
||
//定时搓第二张
|
||
this.timeout_myOpt(1000);
|
||
}else if(NN_Desk.pList[NN_Desk.myseat].rubcard.length == 1){
|
||
//搓第二张
|
||
this.rubCard(4);
|
||
|
||
NN_UI.rubPutUI_anim();
|
||
set_self(751,37,0,0,0);
|
||
if(NN_Desk.pList[NN_Desk.myseat].rubcard[0] != 4){
|
||
NN_Desk.pList[NN_Desk.myseat].rubcard[1] = 4;
|
||
}
|
||
//搓牌完成-显示自动摆牌
|
||
NN_putCard_autoSelection(true);
|
||
NN_Desk.state = NN_state.putCard;
|
||
//定时摆牌
|
||
this.timeout_myOpt(1000);
|
||
}
|
||
}else if(NN_Desk.state == NN_state.putCard){
|
||
//摆牌
|
||
this.putCard();
|
||
}
|
||
}
|
||
},
|
||
|
||
robZhuang : function(isrob, _time){
|
||
//抢庄
|
||
var data = {
|
||
isrob:isrob
|
||
};
|
||
|
||
if(_time == null){
|
||
NN_Net.SendGameData("robZhuang",data);
|
||
}else {
|
||
this._toId.robZhuang.t1 = setTimeout(function(){
|
||
this._toId.robZhuang.t1 = -1;
|
||
NN_Net.SendGameData("robZhuang",data);
|
||
}.bind(this),_time);
|
||
}
|
||
//console.log("自动 抢庄:"+isrob);
|
||
},
|
||
|
||
betScore : function(_score, _time){
|
||
//下注
|
||
var data = {
|
||
score:_score
|
||
};
|
||
|
||
if(_time == null){
|
||
NN_Net.SendGameData("betScore",data);
|
||
}else {
|
||
this._toId.betScore.t1 = setTimeout(function(){
|
||
this._toId.betScore.t1 = -1;
|
||
NN_Net.SendGameData("betScore",data);
|
||
}.bind(this),_time);
|
||
}
|
||
//console.log("自动 下注:"+ _score);
|
||
},
|
||
|
||
rubCard : function(_cardloc, _time){
|
||
//搓牌
|
||
var data = {
|
||
cardloc:_cardloc
|
||
};
|
||
|
||
if(_time == null){
|
||
NN_Net.SendGameData("rubCard",data);
|
||
}else {
|
||
this._toId.rubCard.t1 = setTimeout(function(){
|
||
this._toId.rubCard.t1 = -1;
|
||
NN_Net.SendGameData("rubCard",data);
|
||
}.bind(this),_time);
|
||
}
|
||
//console.log("自动 搓牌:"+ _cardloc);
|
||
},
|
||
|
||
putCard : function(_time){
|
||
//摆牌确认
|
||
if(_time == null){
|
||
NN_Net.SendGameData("putCard");
|
||
}else{
|
||
this._toId.putCard.t1 = setTimeout(function(){
|
||
this._toId.putCard.t1 = -1;
|
||
NN_Net.SendGameData("putCard");
|
||
}.bind(this),_time);
|
||
}
|
||
//console.log("自动 摆牌确认");
|
||
},
|
||
};
|
||
|
||
|
||
|
||
//调试用
|
||
var Debug = Debug || {};
|
||
//循环定时id
|
||
Debug.ivId = {
|
||
ui_rubput: -1
|
||
};
|
||
//普通定时id
|
||
Debug.toId = {
|
||
};
|
||
//循环定时调试判断函数
|
||
Debug.intervalFunc = function(){
|
||
//搓摆牌界面
|
||
if(NN_Desk && NN_Desk.state != null){
|
||
if(NN_Desk.state == NN_state.rubput || NN_Desk.state == NN_state.rubCard || NN_Desk.state == NN_state.putCard){
|
||
//清除定时器
|
||
Debug.clear();
|
||
//开启
|
||
//console.log("开启 搓摆牌界面调试定时器");
|
||
this.ivId.ui_rubput = setInterval(function(){
|
||
if((NN_Desk.pList[NN_Desk.myseat].betScore > 0 || NN_Desk.myseat == NN_Desk.zhuang) && (NN_Desk.state == NN_state.rubput || NN_Desk.state == NN_state.rubCard || NN_Desk.state == NN_state.putCard)){
|
||
if(Debug.ui_rubput()){
|
||
//console.log("搓摆牌界面异常,提交错误信息");
|
||
//清除定时器
|
||
Debug.clear();
|
||
}
|
||
}else{
|
||
//清除定时器
|
||
Debug.clear();
|
||
}
|
||
}, 500);
|
||
}
|
||
}
|
||
};
|
||
//循环定时调试判断函数
|
||
Debug.clear = function(){
|
||
if(Debug.ivId.ui_rubput > -1){
|
||
//
|
||
//console.log("清除搓摆牌界面调试定时器");
|
||
clearInterval(Debug.ivId.ui_rubput);
|
||
Debug.ivId.ui_rubput = -1;
|
||
}
|
||
};
|
||
|
||
//搓摆牌界面异常判断
|
||
Debug.ui_rubput = function(){
|
||
var upNum = 0; //牌弹起数量
|
||
for(var i=0;i<5;i++){
|
||
if(get_self(725+i,19) < 522){
|
||
upNum ++;
|
||
}
|
||
}
|
||
//
|
||
var backNum = 0; //牌背
|
||
if(get_self(750,37) == 1){
|
||
backNum ++;
|
||
}
|
||
if(get_self(751,37) == 1){
|
||
backNum ++;
|
||
}
|
||
//
|
||
|
||
if(NN_Desk.state == NN_state.rubCard){
|
||
if(upNum > 0){
|
||
NN_Net.submit_error("搓摆牌显示异常,状态:" + NN_Desk.state," 牌弹起数:" + upNum + " #牌背数:" + backNum + " #搓牌:" + NN_Desk.pList[NN_Desk.myseat].rubcard + " #摆牌:" + NN_Desk.pList[NN_Desk.myseat].putcard);
|
||
return true;
|
||
}
|
||
} else if(NN_Desk.state == NN_state.putCard){
|
||
if(backNum > 0){
|
||
NN_Net.submit_error("搓摆牌显示异常,状态:" + NN_Desk.state," 牌弹起数:" + upNum + " #牌背数:" + backNum + " #搓牌:" + NN_Desk.pList[NN_Desk.myseat].rubcard + " #摆牌:" + NN_Desk.pList[NN_Desk.myseat].putcard);
|
||
return true;
|
||
}
|
||
}
|
||
if (upNum > 0 && backNum > 0){
|
||
NN_Net.submit_error("搓摆牌显示异常,状态:" + NN_Desk.state," 牌弹起数:" + upNum + " #牌背数:" + backNum + " #搓牌:" + NN_Desk.pList[NN_Desk.myseat].rubcard + " #摆牌:" + NN_Desk.pList[NN_Desk.myseat].putcard);
|
||
return true;
|
||
}
|
||
return false;
|
||
};
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|