var putcar = function (cards_a,cards_b,boom_a,boom_b) { //2个人的牌 2个人的牌型 var paia = []; var paib = []; var daxiao_a = boom_a[1]; var daxiao_b = boom_b[1]; var feiji_a = [boom_a[2]]; var feiji_b = [boom_b[2]]; var list = [-1,0,0]; var paizu = [1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; for (var i = 0; i 炸弹a个数 if (daxiao_a!=0||daxiao_b!=0) { if (daxiao_b>daxiao_a) { list[0]=1; } else if(daxiao_b==daxiao_a&&daxiao_a>0&&paia.length>=3&&paia.length<=8&&paia.length==paib.length){//炸弹b个数 = 炸弹a个数 list[0] = bicards(paia,paib); } else if(daxiao_b=5) {//一条龙 if (pai[pai.length-1]<=10&&pai[pai.length-1]>=3) {//第一张牌是3-10 if (pai[0]==1 ||pai[0]<=13) {//最后一张牌是A或者<= K if (pai[0]!=2) {//最后一张牌不是2 if (pai[0]==1&&pai[1]==13) {//如果第一张牌是A for (var i = 1; i < pai.length-1; i++) { if (pai[i]-1 == pai[i+1]) { cards = 3; } else{ cards = 0; break; } } }else{//如果第一张牌不是A for (var i = 0; i < pai.length-1; i++) { if (pai[i]-1 == pai[i+1]) { cards = 3; } else{ cards = 0; break; } } } } } } } } if (cards ==0&&boom_a == 0) { if (pai.length>=4&&pai.length%2==0) {//连对 //如果第一张牌<=k并且不等于2 最后一张牌>=3 if (pai[pai.length-1]>=3&&pai[0]<=13&&pai[0]!=2) { for (var i = 0; i < pai.length; i++) { if (pai[i] == pai[i+1]) {//这张牌=下一张牌 if (i+2 == pai.length) {//如果是最后一对牌 break; } if (pai[i]-1==pai[i+2]) {//这对牌=下一对牌 cards = 4; i=i+1; } else if (pai[i]==1&&pai[i+2]==13) {//如果第一对是A 第二对是K cards = 4; i=i+1; } else{ cards = 0; break; } } else{ cards = 0; break; } } } } } if (cards==0&&boom_a == 0) { for (var i = 0; i < pai.length-1; i++) { if (pai[i]==pai[i+1]&&pai[i]==pai[i+2]) {//3带 if (pai.length>5) { for (var j =i; j 0) { cards = 8; feiji = pai[i]; i = i + 11; } else if (pai.length == 25 && shengpai > 0) { cards = 9; feiji = pai[i]; i = i + 14; }else{ cards = 10; feiji = pai[i]; } } else{//5连飞 if (pai[i+14]==pai[i+15]) { var surplus = pai.splice(i+15,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=25&&pai.length>=15&&cards<=9) { if (pai.length == 15 && shengpai > 0) { cards = 7; feiji = pai[i]; i = i + 8; }else if (pai.length == 20 && shengpai > 0) { cards = 8; feiji = pai[i]; i = i + 11; }else{ cards = 9; feiji = pai[i]; i = i + 14; } } } } else{//4连飞 if (pai[i+11]==pai[i+12]) { var surplus = pai.splice(i+12,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=20&&pai.length>=12&&cards<=8) { if (pai.length == 15 && shengpai > 0) { cards = 7; feiji = pai[i]; i = i+8; }else{ cards = 8; feiji = pai[i]; i = i+11; } } } } else{//3连飞 if (pai[i+8]==pai[i+9]) { var surplus = pai.splice(i+9,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=15&&pai.length>=9&&cards<=7) { if (pai.length == 10 && shengpai > 0) { cards = 6; feiji = pai[i]; i = i+5; }else{ cards = 7; feiji = pai[i]; i = i+8; } } } } else{//2连飞 if (pai[i+5]==pai[i+6]) { var surplus = pai.splice(i+6,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=10&&pai.length>=6&&cards<=6) { cards = 6; feiji = pai[i]; i = i+5; } } } else{//3带 if (pai[i+2]==pai[i+3]) { var surplus = pai.splice(i+3,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=5&&pai.length>=3&&cards<=5) { cards = 5; feiji = pai[i] i = i+2; } } } else{//不是3带 if(cards<5){ cards = 0; } } } } // 牌型 炸弹 飞机最大的一张牌 var car = [cards,boom_a,feiji]; return car; } var paixing_chongren = function(pai_a , shengpai){ //获取牌型 var paizu = [1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; var pai = []; for (var i = 0; i =5) {//一条龙 if (pai[pai.length-1]<=10&&pai[pai.length-1]>=3) {//第一张牌是3-10 if (pai[0]==1 ||pai[0]<=13) {//最后一张牌是A或者<= K if (pai[0]!=2) {//最后一张牌不是2 if (pai[0]==1&&pai[1]==13) {//如果第一张牌是A for (var i = 1; i < pai.length-2; i++) { if (pai[i]-1 == pai[i+1]) { cards = 3; } else{ cards = 0; break; } } }else{//如果第一张牌不是A for (var i = 0; i < pai.length-1; i++) { if (pai[i]-1 == pai[i+1]) { cards = 3; } else{ cards = 0; break; } } } } } } } } if (cards ==0&&boom_a == 0) { if (pai.length>=4&&pai.length%2==0) {//连对 //如果第一张牌<=k并且不等于2 最后一张牌>=3 if (pai[pai.length-1]>=3&&pai[0]<=13&&pai[0]!=2) { for (var i = 0; i < pai.length; i++) { if (pai[i] == pai[i+1]) {//这张牌=下一张牌 if (i+2 == pai.length) {//如果是最后一对牌 break; } if (pai[i]-1==pai[i+2]) {//这对牌=下一对牌 cards = 4; i=i+1; } else if (pai[i]==1&&pai[i+2]==13) {//如果第一对是A 第二对是K cards = 4; i=i+1; } else{ cards = 0; break; } } else{ cards = 0; break; } } } } } if (cards==0&&boom_a == 0) { for (var i = 0; i < pai.length-1; i++) { if (pai[i]==pai[i+1]&&pai[i]==pai[i+2]) {//3带 if (pai.length>5) { for (var j =i; j 0) { cards = 8; feiji = pai[i]; i = i + 11; } else if (pai.length == 25 && shengpai > 0) { cards = 9; feiji = pai[i]; i = i + 14; }else{ cards = 10; feiji = pai[i]; } } else{//5连飞 if (pai[i+14]==pai[i+15]) { var surplus = pai.splice(i+15,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=25&&pai.length>=15&&cards<=9) { if (pai.length == 15 && shengpai > 0) { cards = 7; feiji = pai[i]; i = i + 8; }else if (pai.length == 20 && shengpai > 0) { cards = 8; feiji = pai[i]; i = i + 11; }else{ cards = 9; feiji = pai[i]; i = i + 14; } } } } else{//4连飞 if (pai[i+11]==pai[i+12]) { var surplus = pai.splice(i+12,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=20&&pai.length>=12&&cards<=8) { if (pai.length == 15 && shengpai > 0) { cards = 7; feiji = pai[i]; i = i+8; }else{ cards = 8; feiji = pai[i]; i = i+11; } } } } else{//3连飞 if (pai[i+8]==pai[i+9]) { var surplus = pai.splice(i+9,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=15&&pai.length>=9&&cards<=7) { if (pai.length == 10 && shengpai > 0) { cards = 6; feiji = pai[i]; i = i+5; }else{ cards = 7; feiji = pai[i]; i = i+8; } } } } else{//2连飞 if (pai[i+5]==pai[i+6]) { var surplus = pai.splice(i+6,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=10&&pai.length>=6&&cards<=6) { cards = 6; feiji = pai[i]; i = i+5; } } } else{//3带 if (pai[i+2]==pai[i+3]) { var surplus = pai.splice(i+3,1) pai.unshift(min_random(0,100)); i = 0; } else if (pai.length<=5&&pai.length>=3&&cards<=5) { cards = 5; feiji = pai[i] i = i+2; } } } else{//不是3带 if(cards<5){ cards = 0; } } } } // 牌型 炸弹 飞机最大的一张牌 var car = [cards,boom_a,feiji]; return car; } // 编译后的牌 牌帧数 var k = function (k,pai) { var daxiao = 0; var wu = 0; var shi = 0; var kai = 0 for (var i = 0; i < k.length; i++) { switch (k[i]){ case 5: wu = wu+1; break; case 10: shi = shi+1; break; case 13: kai = kai+1; break; default: break; } } if (k.length==3) { if (k[0]==13&&k[1]==10&&k[2]==5) { daxiao = 15; if (pai[0]==13) { if (pai[1]==10) { if (pai[2]==5) { daxiao = 16; } } } if (pai[0]==26) { if (pai[1]==23) { if (pai[2]==18) { daxiao = 16; } } } if (pai[0]==39) { if (pai[1]==36) { if (pai[2]==31) { daxiao = 16; } } } if (pai[0]==52) { if (pai[1]==49) { if (pai[2]==44) { daxiao = 16; } } } } }else{ daxiao = 0; } if (wu+shi+kai == k.length&&k.length>=9) { if (wu<=shi&&wu<=kai) { if (wu==3) { daxiao = 52; } if (wu==4) { daxiao = 82; } if (wu==5) { daxiao = 120; } if (wu==6) { daxiao = 240; } if (wu==7) { daxiao = 480; } if (wu==8) { daxiao = 960; } } else if (shi<=wu&&shi<=kai) { if (shi==3) { daxiao = 52; } if (shi==4) { daxiao = 82; } if (shi==5) { daxiao = 120; } if (shi==6) { daxiao = 240; } if (shi==7) { daxiao = 480; } if (shi==8) { daxiao = 960; } } else if (kai<=wu&&kai<=shi) { if (kai==3) { daxiao = 52; } if (kai==4) { daxiao = 82; } if (kai==5) { daxiao = 120; } if (kai==6) { daxiao = 240; } if (kai==7) { daxiao = 480; } if (kai==8) { daxiao = 960; } } } return daxiao; } // 编译后的牌 牌帧数 var kz = function (k,pai) { var daxiao = 0; var wu = 0; var shi = 0; var kai = 0 for (var i = 0; i < k.length; i++) { switch (k[i]){ case 5: wu = wu+1; break; case 10: shi = shi+1; break; case 13: kai = kai+1; break; default: break; } } if (k.length==3) { if (k[0]==13&&k[1]==10&&k[2]==5) { daxiao = 15; if (pai[0]==13) { if (pai[1]==10) { if (pai[2]==5) { daxiao = 16; } } } if (pai[0]==26) { if (pai[1]==23) { if (pai[2]==18) { daxiao = 16; } } } if (pai[0]==39) { if (pai[1]==36) { if (pai[2]==31) { daxiao = 16; } } } if (pai[0]==52) { if (pai[1]==49) { if (pai[2]==44) { daxiao = 16; } } } } }else{ daxiao = 0; } if (wu+shi+kai == k.length&&k.length>=9) { if (wu==shi&&wu==kai) { if (wu==3) { daxiao = 51; } if (wu==4) { daxiao = 71; } if (wu==5) { daxiao = 120; } if (wu==6) { daxiao = 240; } if (wu==7) { daxiao = 480; } if (wu==8) { daxiao = 960; } } } return daxiao; } var boom = function (pai) { var daxiao = 0; if (pai.length>=4&&pai.length<=8) { for (var i = 0; i < pai.length-1; i++) { if (pai[i]==pai[i+1]) { daxiao = pai.length*10; }else{ daxiao = 0; break; } } } return daxiao; } var bicards = function (paia,paib) { var yon = -1; if (paib[0]>paia[0]) { if (paia[0]==1) { //a = A if (paib[0]==2||paib[0]>13) { //b = 2 或者王 yon = 1; } else{ //否则 yon = -1; } } else if (paia[0]==2) { //a = 2 if (paib[0]>13) { //b = 王 yon = 1; } else{ yon = -1; } }else{ yon=1; } } else if (paib[0] b if (paib[0]==1) { //b = A if (paia[0]==2||paia[0]>13) { //a = 2 或者王 yon = -1; } else{ yon = 1; } } else if (paib[0]==2) { //b = 2 if (paia[0]>13) { //a = 王 yon = -1; } else{ yon = 1; } } } else if (paib[0]==paia[0]){ //b = a yon = -1; } if (yon>0) { return paib.length; }else{ return yon; } } var kswdaipai = function (pai_a) { var paizu = [1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; var pai = []; for (var i = 0; i =3 && car_boom_s>=3 && car_boom_k>=3 && car_boom_w+car_boom_s+car_boom_k == pai.length) { if (car_boom_w <= car_boom_s && car_boom_w <= car_boom_k) { switch (car_boom_w){ case 3: boom = 52; break; case 4: boom = 82; break; case 5: boom = 120; break; case 6: boom = 240; break; case 7: boom = 480; break; case 8: boom = 960; break; default: break; } }else if (car_boom_s <= car_boom_w && car_boom_s <= car_boom_k) { switch (car_boom_s){ case 3: boom = 52; break; case 4: boom = 82; break; case 5: boom = 120; break; case 6: boom = 240; break; case 7: boom = 480; break; case 8: boom = 960; break; default: break; } }else if (car_boom_k <= car_boom_s && car_boom_k <= car_boom_w) { switch (car_boom_k){ case 3: boom = 52; break; case 4: boom = 82; break; case 5: boom = 120; break; case 6: boom = 240; break; case 7: boom = 480; break; case 8: boom = 960; break; default: break; } } } return boom; }