var cls_zhaopengyou_paixing = cls_zhaopengyou_paixing || { jinxian_zhaopengyou: function(dq_dapai){ var paixing = []; //获取牌型 var paixing = cls_zhaopengyou_card.GetMaxCardTypeByCardList(dq_dapai , 0); if (paixing[0][0] >= 4 && paixing[0][0] != dq_dapai.length) {//有个炸弹 if (zhaopengyou_bianliang.pub.paiid.length - dq_dapai.length !=0) {//没打完 if (dq_dapai.length == 5) { var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,1], [0,0,1,0], null ,null); if(feiji.length){//如果有就是3带 paixing = [[3,1],feiji[feiji.length-1]]; } }else if (dq_dapai.length == 10) {//10张牌 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,2], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,2],feiji[feiji.length-1]]; } }else if (dq_dapai.length == 15) {//15张牌 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,3], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,3],feiji[feiji.length-1]]; } }else if (dq_dapai.length == 20) {//20张牌 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,4], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,4],feiji[feiji.length-1]]; } }else if (dq_dapai.length == 25) {//25张牌 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,5], [0,0,1,0], null ,15); if(feiji.length){//如果有就是飞机 paixing = [[3,5],feiji[feiji.length-1]]; } } }else{ if (dq_dapai.length > 6) {//多余6张牌 if(dq_dapai.length < 9){//飞机 2 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,2], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,2],feiji[feiji.length-1]]; } } else if (dq_dapai.length <=12 && dq_dapai.length >=9) {//飞机 3 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,3], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,3],feiji[feiji.length-1]]; }else{ var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,2], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,2],feiji[feiji.length-1]]; } } } else if (dq_dapai.length <= 15 && dq_dapai.length > 12) {//飞机 3.4 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,4], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,4],feiji[feiji.length-1]]; if(zhaopengyou_bianliang.pub.paixing.length){ if (zhaopengyou_bianliang.pub.paixing[0][0] == 3 && zhaopengyou_bianliang.pub.paixing[0][1] == 3) {//飞机 4 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,3], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,3],feiji[feiji.length-1]]; } } } }else{ var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,3], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,3],feiji[feiji.length-1]]; } } } else if (dq_dapai.length <= 18 && dq_dapai.length > 15) {//飞机 3.5 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,5], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,5],feiji[feiji.length-1]]; if(zhaopengyou_bianliang.pub.paixing.length){ if (zhaopengyou_bianliang.pub.paixing[0][0] == 3 && zhaopengyou_bianliang.pub.paixing[0][1] == 4) {//飞机 4 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,4], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,4],feiji[feiji.length-1]]; } } } }else{ var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,4], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,4],feiji[feiji.length-1]]; } } } else if (dq_dapai.length <= 20 && dq_dapai.length > 18) {//飞机 3.5 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,6], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,6],feiji[feiji.length-1]]; if(zhaopengyou_bianliang.pub.paixing.length){ if (zhaopengyou_bianliang.pub.paixing[0][0] == 3 && zhaopengyou_bianliang.pub.paixing[0][1] == 5) {//飞机 4 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,5], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,5],feiji[feiji.length-1]]; } } } }else{ var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,5], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,5],feiji[feiji.length-1]]; if(zhaopengyou_bianliang.pub.paixing.length){ if (zhaopengyou_bianliang.pub.paixing[0][0] == 3 && zhaopengyou_bianliang.pub.paixing[0][1] == 4) {//飞机 4 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,4], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,4],feiji[feiji.length-1]]; } } } }else{ var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,4], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,4],feiji[feiji.length-1]]; } } } } else if (dq_dapai.length <= 25 && dq_dapai.length > 20) {//飞机 3.6 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,6], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,6],feiji[feiji.length-1]]; if(zhaopengyou_bianliang.pub.paixing.length){ if (zhaopengyou_bianliang.pub.paixing[0][0] == 3 && zhaopengyou_bianliang.pub.paixing[0][1] == 5) {//飞机 4 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,5], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,5],feiji[feiji.length-1]]; } } } }else{ var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,5], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,5],feiji[feiji.length-1]]; } } } else if (dq_dapai.length > 25) {//飞机 3.6 var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,6], [0,0,1,0], null ,14); if(feiji.length){//如果有就是飞机 paixing = [[3,6],feiji[feiji.length-1]]; } } }else if (dq_dapai.length == 5) { var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 [3,1], [0,0,1,0], null ,null); paixing = [[3,1],feiji[feiji.length-1]]; } } } else if (paixing[0][0] == 3 && paixing[0][1] >1 ) { var paixing01=0; if (paixing[1][paixing[1].length-1][4] == 15) { paixing[0][1] = paixing[0][1] -1; paixing[1].splice(paixing[1].length-3,3); paixing01=-1; } if (zhaopengyou_bianliang.pub.paixing.length && zhaopengyou_bianliang.pub.paixing[0][0] == 3) { if (zhaopengyou_bianliang.pub.paiid.length - dq_dapai.length == 0) { switch (zhaopengyou_bianliang.pub.paixing[0][1]){ case 2: if (dq_dapai.length<=10) { paixing = [3,2]; } break; case 3: if (dq_dapai.length<=15) { paixing = [3,3]; } break; case 4: if (dq_dapai.length<=20) { paixing = [3,4]; } break; case 5: if (dq_dapai.length<=25) { paixing = [3,5]; } break; } }else{ switch (zhaopengyou_bianliang.pub.paixing[0][1]){ case 2: if (dq_dapai.length==10) { paixing = [3,2]; } break; case 3: if (dq_dapai.length==15) { paixing = [3,3]; } break; case 4: if (dq_dapai.length==20) { paixing = [3,4]; } break; case 5: if (dq_dapai.length==25) { paixing = [3,5]; } break; } } if (paixing[1] >1 && paixing01==-1) { paixing[1] = paixing[1] -1; } var feiji = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(dq_dapai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 paixing, [0,0,1,0], null ,null); if(feiji.length){//如果有就是飞机 paixing = [paixing,feiji[feiji.length-1]]; } } } return paixing; }, dapai_zhaopengyou :function(pai , paixing , len, paisuanfa , da_paisuanfa ,qian_paixing){ var put = false; if (paixing[0] == 1&& paixing[1] == 1) {//单牌 if(pai.length==1){ put =true; }else{ put = false; } } else if (paixing[0] == 2 &&paixing[1] ==1) {//对子 if (pai.length ==2) { put =true; }else{ put = false; } } else if (paixing[0] == 1 &&paixing[1] >=5) {//顺子 if (pai.length == paixing[1] && da_paisuanfa < 15) { put =true; }else{ put = false; } } else if (paixing[0] == 2 && paixing[1] >=2) {//连对 if (pai.length == paixing[0]*paixing[1] && da_paisuanfa < 15) { put =true; }else{ put = false; } } else if (paixing[0] == 3 && paixing[1] ==1) {//3带 if (pai.length == 5 ) {//如果是5张 put = true; }else { if (pai.length < 5 && len ==0) {//但是如果是最后一手牌,可以出 put =true; }else{ put = false; } } } else if (paixing[0] == 3 && paixing[1] >=2) {//飞机 if (pai.length == 5*paixing[1] && da_paisuanfa < 15) { put =true; }else{ if( pai.length >= paixing[0]*paixing[1] && pai.length <= 5*paixing[1] && len == 0 && da_paisuanfa < 15){ put = true; }else{ if (len >0) { if (pai.length == 10 ) { if (paixing[1] >= 3) { paixing[1] = 2; put = true; } else if (paixing[1] == 2){ put = true; } } else if (pai.length == 15) { if (paixing[1] >= 4) { paixing[1] = 3; put = true; } else if (paixing[1] == 3){ put = true; } } else if (pai.length == 20) { if (paixing[1] >= 5) { paixing[1] = 4; put = true; } else if (paixing[1] == 4){ put = true; } } else if (pai.length == 25) { if (paixing[1] >= 6) { paixing[1] = 5; put = true; } else if (paixing[1] == 5){ put = true; } } else{ put = false; } } } } } else if (paixing[0] >= 4 && paixing[1] == 1) {//炸弹 if (paixing[0] == pai.length) { put =true; } }else if(paixing[0] == 4 && paixing[1] >= 1){//带炸弹的飞机 if (pai.length == 5*paixing[1]) {//中途打出2个炸的飞机 paixing = [3,paixing[1]]; put = true; }else if (pai.length<5*paixing[1] && len ==0) { paixing = [3,paixing[1]]; put = true; } } return [put,paixing]; }, bipai_zhaopengyou :function (paixing ,da_paixing , pai , da_pai , paishu , zuidapaishu , shengpai ){ if (paixing[0][0] == da_paixing[0][0] && paixing[0][1] == da_paixing[0][1]) {//牌型相同 if (pai>da_pai) {//如果第一张牌大于最大牌 return true; }else{ return false; } }else if(paixing[0][0] >= 4&& paixing[0][0]>da_paixing[0][0]){//现在出的牌如果是炸 并且比上家大 return true; //if (paixing[0][0]==paishu) { //if (paixing[0][0] > da_paixing[0][0]) { //return true; //}else{ //return false; //} //}else { //if (paixing[0][0] == 4 && pai < 3) { //if (pai>da_pai) {//如果第一张牌大于最大牌 //return true; //}else{ //return false; //} //return true; //}else if ((paixing[0][0] == 6||paixing[0][0] == 5) && (pai == 21 ||pai == 22)) { //if (pai>da_pai) {//如果第一张牌大于最大牌 //return true; //}else{ //return false; //} //}else if (paixing[0][0] >= 9) { //return true; //}else{ //return false; //} //} }else{ return false; } } } var cls_control = cls_control ||{ // 操作人 状态 new: function(people,state){ var seat = 0; switch (people){//控制权移交 case 0: if (state[1] == 1) { seat = 2; if (state[2] == 1) { seat = 3; } }else{ seat = 1; } break; case 1: if (state[2] == 1) { seat = 3; if (state[3] == 1) { seat = 0; } }else{ seat = 2; } break; case 2: if (state[3] == 1) { seat = 0; if (state[0] == 1) { seat = 1; } }else{ seat = 3; } break; case 3: if (state[0] == 1) { seat = 1; if (state[1] == 1) { seat = 2; } }else{ seat = 0; } break; default: break; } return seat; } } var ksw_zhaopengyou = ksw_zhaopengyou ||{ jinxian :function(pai){ var daxiao = 0; var wu = 0; var shi = 0; var kai = 0; var wang = 0; var paixing = []; for (var i = 0; i < pai.length; i++) { switch (pai[i][4]){ case 5: wu ++; break; case 10: shi ++; break; case 13: kai ++; break; case 53: wang ++; break; case 54: wang ++; break; } } if (pai.length==3) {//如果3张牌 if (wang == 3) {//都是王 paixing = [[5,1],[[0,0,0,0,21]]]; }else if(wu == 1 && shi == 1 && kai == 1){//是510k paixing = [[4,1],[[0,0,0,0,1]]]; if (pai[0][1] == pai[1][1] && pai[0][1] == pai[2][1]) {//如果花色相同 paixing = [[4,1],[[0,0,0,0,2]]]; } } } else if (pai.length==4){//如果4张牌 if (wang == 4) { paixing = [[9,1],[[0,0,0,1]]]; } } else if (wu+shi+kai == pai.length&&pai.length>=9) {//9张牌以上 if (wu<=shi&&wu<=kai) { if (wu==3) { paixing = [[5,1],[[0,0,0,0,22]]]; } if (wu==4) { paixing = [[9,1],[[0,0,0,0,2]]]; } if (wu==5) { paixing = [[10,1],[[0,0,0,0,2]]]; } if (wu==6) { paixing = [[11,1],[[0,0,0,0,2]]]; } if (wu==7) { paixing = [[12,1],[[0,0,0,0,2]]]; } if (wu==8) { paixing = [[13,1],[[0,0,0,0,2]]]; } } else if (shi<=wu&&shi<=kai) { if (shi==3) { paixing = [[5,1],[[0,0,0,0,22]]]; } if (shi==4) { paixing = [[9,1],[[0,0,0,0,2]]]; } if (shi==5) { paixing = [[10,1],[[0,0,0,0,2]]]; } if (shi==6) { paixing = [[11,1],[[0,0,0,0,2]]]; } if (shi==7) { paixing = [[12,1],[[0,0,0,0,2]]]; } if (shi==8) { paixing = [[13,1],[[0,0,0,0,2]]]; } } else if (kai<=wu&&kai<=shi) { if (kai==3) { paixing = [[5,1],[[0,0,0,0,22]]]; } if (kai==4) { paixing = [[9,1],[[0,0,0,0,2]]]; } if (kai==5) { paixing = [[10,1],[[0,0,0,0,2]]]; } if (kai==6) { paixing = [[11,1],[[0,0,0,0,2]]]; } if (kai==7) { paixing = [[12,1],[[0,0,0,0,2]]]; } if (kai==8) { paixing = [[13,1],[[0,0,0,0,2]]]; } } } return paixing; }, chongren :function(pai){ var daxiao = 0; var wu = 0; var shi = 0; var kai = 0; var wang = 0; var paixing = []; for (var i = 0; i < pai.length; i++) { switch (pai[i][4]){ case 5: wu ++; break; case 10: shi ++; break; case 13: kai ++; break; case 53: wang ++; break; case 54: wang ++; break; } } if (pai.length==3) {//??3?? if (wang == 3) {//??? paixing = [[6,1],[[0,0,0,0,22]]]; }else if(wu == 1 && shi == 1 && kai == 1){//?510k paixing = [[4,1],[[0,0,0,0,1]]]; if (pai[0][1] == pai[1][1] && pai[0][1] == pai[2][1]) {//?????? paixing = [[4,1],[[0,0,0,0,2]]]; } } } else if (pai.length==4){//??4?? if (wang == 4) { paixing = [[9,1],[[0,0,0,2]]]; } } else if (wu+shi+kai == pai.length&&pai.length>=9) {//9???? if (wu==shi&&wu==kai) { if (wu==3) { paixing = [[6,1],[[0,0,0,0,21]]]; } if (wu==4) { paixing = [[9,1],[[0,0,0,0,1]]]; } if (wu==5) { paixing = [[10,1],[[0,0,0,0,1]]]; } if (wu==6) { paixing = [[11,1],[[0,0,0,0,1]]]; } if (wu==7) { paixing = [[12,1],[[0,0,0,0,1]]]; } if (wu==8) { paixing = [[13,1],[[0,0,0,0,1]]]; } } } return paixing; }, tongse_zhaopengyou : function(pai,paixing,da,xiao){//是否同色 var tongse = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(pai,[0,0]), // 牌的类型 [所有可能,小到大,拆牌,取所有情况] 起始牌 paixing, [0,0,1,0], xiao ,da); if (tongse.length) { var heise = 0; var hongse = 0; for (var i = 0; i < tongse[0].length; i++) { if (tongse[0][i][1] == 1 ||tongse[0][i][1] == 3) { heise ++; } else if (tongse[0][i][1] == 2 ||tongse[0][i][1] == 4) { hongse ++; } } if (hongse == 4 || heise == 4) { return true; }else{ return false; } } return false; } }