/* 逻辑算法等 */ /* 扑克牌的统一编码规则: 1,牌面花色的定义 5:王 4:黑桃 3:红心 2:梅花 1:方块 2,牌面数值的定义 01-A 02-2...09:9 10:10 11:J 12:Q 13:K 98:小王99:大王 3,牌编码的定义 3位数字 第一位为牌面花色 第二三位为牌面数值 4,大小王的定义 598:小王 599:大王 101 */ //创建牌局牌 function nn_newCards(pairs){ function cardinfo (id, flower, val, code, gameval){ //单张牌信息 var card = {}; card.id = id; //绝对id card.flower = flower; //牌面花色 card.val = val; //牌面数值 card.code = code; //牌编码 card.gameval = gameval;//游戏中对应数值 return card; }; if(pairs == null){ pairs = 1; } var cards = []; for (var i = 1; i <= pairs; i++) { for (var j = 1; j <= 4; j++) { for (var k = 0; k < 13; k++) { var id = (i - 1) * 54 + (j - 1) * 13 + k; var code = j * 100 + k + 1; var val = k + 1; if(val > 10){ val = 10; } var pai = cardinfo(id, j, k + 1, code,val); cards.push(pai); }; }; //小王 var xiao = cardinfo((i - 1) * 54 + 52, 5, 98, 598,10); cards.push(xiao); //大王 var da = cardinfo((i - 1) * 54 + 53, 5, 99, 599,10); cards.push(da); }; return cards; }; //玩家手牌信息 var NN_cardsInfo = function(_cards){ this.cards = _cards; this.type = ""; this.Multiple = 0; //牌输赢倍数 this.niu = -1; //牛几 }; NN_cardsInfo.prototype.AnalysisType = function(cardlist,type_mult){ //分析牌型(cardlist-所有牌,type_mult-倍数类型) if(type_mult == 3){ type_mult = 2; } var clist = []; var vallist = []; //牌对应数值列表 var g_vallist = []; //游戏对应数值列表 for(var i=0;i= 10 && clist[1].val >= 10 && clist[2].val >= 10 && clist[3].val >= 10 && clist[4].val >= 10){ this.type = "nmw"; if(type_mult == 1){ this.Multiple = 5; }else if(type_mult == 2){ this.Multiple = 11; } return; } //判断牛几 var arr = [0,1,2,3,4]; outer: for(var i=0;i<3;i++){ for(var j=i+1;j<4;j++){ for(var k=j+1;k<=4;k++){ if((g_vallist[i] + g_vallist[j] + g_vallist[k])%10 == 0){ arr.splice(k,1); arr.splice(j,1); arr.splice(i,1); break outer; } } } } if(arr.length == 2){//有牛 var a = (g_vallist[arr[0]] + g_vallist[arr[1]])%10; this.type = "n" + a; this.niu = a; if(type_mult == 1){ if(a == 0){ //牛牛 this.Multiple = 4; this.type = "nn"; this.niu = 10; }else if(a == 9){ //牛九 this.Multiple = 3; }else if(a == 8){ //牛八 this.Multiple = 2; }else { //牛一~牛七 this.Multiple = 1; } }else if(type_mult == 2){ if(a == 0){ //牛牛 this.Multiple = 10; this.type = "nn"; this.niu = 10; }else{ this.Multiple = a; } } return; }else{//无牛 this.type = "wn"; this.Multiple = 1; this.niu = 0; return; } }; function NN_toCardImg(card) { //转换成显示牌的图片对应的帧数 if(card == null){//返回牌背面帧数 return 55; }else{//返回正面牌帧数 return card+1; } }; function NN_setPositionSeat(myseat) { //设置方位和座位对应转换 var a = myseat - 0; for(var i = 0; i < NN_Desk.personMax; i ++){ if(i + a < NN_Desk.personMax){ NN_FS[i] = i + a;//方位对应座位 NN_SF[i + a] = i;//座位对应方位 }else { NN_FS[i] = i + a - NN_Desk.personMax; NN_SF[i + a - NN_Desk.personMax] = i; } } }; function getStrLength(str){ //获取字符串长度 var cArr = str.match(/[^\x00-\xff]/ig); return str.length + (cArr == null ? 0 : cArr.length); }; function subString(str, len, hasDot) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex,"**").length; for(var i = 0;i < strLength;i++) { singleChar = str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null) { newLength += 2; } else { newLength++; } if(newLength > len) { break; } newStr += singleChar; } if(hasDot && strLength > len) { newStr += "..."; } return newStr; } function NN_playSound(wav_type,play_type,sex,wait_time){ //播放音效 if(wav_type != null){ if(Utl.ReadData(Utl.Config.sound) != 1){return;} if(play_type == null){ play_type = 0; } if(sex == null){ sex = 1; } if(wait_time == null){ wait_time = 0; } var sound = ""; switch (wav_type){ case "bgm"://游戏背景音 sound = "00101.mp3"; break; case "ksyx"://开始游戏 sound = "00102.mp3"; break; case "buttom"://按钮 sound = "00051.mp3"; break; case "xz"://下注 sound = "00145.mp3"; break; case "djj"://第几局 sound = "00103.mp3"; break; case "dz"://倒桩 sound = "00104.mp3"; break; case "ysz"://摇色子 sound = "00105.mp3"; break; case "fp"://发牌 sound = "00106.mp3"; break; case "jb"://金币 sound = "00107.mp3"; break; case "js"://结算 sound = "00108.mp3"; break; case "sl"://胜利 sound = "00109.mp3"; break; case "sb"://失败 sound = "00110.mp3"; break; case "wn"://无牛 if(sex == 2){ sound = "00125.mp3"; }else { sound = "00111.mp3"; } break; case "n1"://牛1 if(sex == 2){ sound = "00126.mp3"; } else { sound = "00112.mp3"; } break; case "n2"://牛2 if(sex == 2){ sound = "00127.mp3"; } else { sound = "00113.mp3"; } break; case "n3"://牛3 if(sex == 2){ sound = "00128.mp3"; } else { sound = "00114.mp3"; } break;v case "n4"://牛4 if(sex == 2){ sound = "00129.mp3"; } else { sound = "00115.mp3"; } break; case "n5"://牛5 if(sex == 2){ sound = "00130.mp3"; } else { sound = "00116.mp3"; } break; case "n6"://牛6 if(sex == 2){ sound = "00131.mp3"; } else { sound = "00117.mp3"; } break; case "n7"://牛7 if(sex == 2){ sound = "00132.mp3"; } else { sound = "00118.mp3"; } break; case "n8"://牛8 if(sex == 2){ sound = "00133.mp3"; } else { sound = "00119.mp3"; } break; case "n9"://牛9 if(sex == 2){ sound = "00134.mp3"; } else { sound = "00120.mp3"; } break; case "nn"://牛牛 if(sex == 2){ sound = "00135.mp3"; } else { sound = "00121.mp3"; } break; case "shunzi": //顺子 if(sex == 2){ sound = "00157.mp3"; } else { sound = "00152.mp3"; } break; case "tonghua": //同花 if(sex == 2){ sound = "00158.mp3"; } else { sound = "00153.mp3"; } break; case "hulu": //葫芦 if(sex == 2){ sound = "00156.mp3"; } else { sound = "00151.mp3"; } break; case "wuxiao": //五小牛 if(sex == 2){ sound = "00137.mp3"; } else { sound = "00123.mp3"; } break; case "wuhua": //五花牛 if(sex == 2){ sound = "00136.mp3"; } else { sound = "00122.mp3"; } break; case "bomb": //炸弹 if(sex == 2){ sound = "00138.mp3"; } else { sound = "00124.mp3"; } break; case "flush": //同花顺 if(sex == 2){ sound = "00159.mp3"; } else { sound = "00154.mp3"; } break; case "bigbomb": //五炸 sound = "00155.mp3"; break; case "qdz": //确定庄 sound = "00139.mp3"; break; case "xp": //洗牌 sound = "00140.mp3"; break; case "hd_zd": //炸弹 sound = "00141.mp3"; break; case "hd_pb": //碰杯 sound = "00142.mp3"; break; case "hd_xh": //鲜花 sound = "00143.mp3"; break; case "hd_zj"://抓鸡 sound = "00144.mp3"; break; case "rob": //抢 if(sex == 2){ sound = "00148.mp3"; } else { sound = "00146.mp3"; } break; case "norob"://不抢 if(sex == 2){ sound = "00149.mp3"; } else { sound = "00147.mp3"; } break; case "typeReward"://不抢 sound = "00150.mp3"; break; default: break; } if(!Utl.isMainScene() || sound == ""){ return; } if(wait_time > 0){ window.setTimeout(function(){ Func.play_wav(sound,play_type); },wait_time); }else { Func.play_wav(sound,play_type); } }else{ //关闭音效 for(var i=102;i<=149;i++){ Func.play_wav("00"+i+".mp3",-1); } } }; function uaredirect(murl){ // try{ if(document.getElementById("bdmark") != null) { return } var urlhash = window.location.hash; if(!urlhash.match("fromapp")){ if((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i))){ location.replace(murl); } } }catch(err){} } //uaredirect("http://m.5ixuexiwang.com/");