//每个玩家直接发17张 最后3张为底牌
//炸弹组合
var cards = {
1:[1,2,3,4], //A
2:[5,6,7,8], //2
3:[9,10,11,12], //3
4:[13,14,15,16], //4
5:[17,18,19,20], //5
6:[21,22,23,24], //6
7:[25,26,27,28], //7
8:[29,30,31,32], //8
9:[33,34,35,36], //9
10:[37,38,39,40], //10
11:[41,42,43,44], //j
12:[45,46,47,48], //q
13:[49,50,51,52], //k
14:[53,54] //大小王
}
//每个玩家最多4个炸弹
var cardA = []; //A玩家的牌
var cardB = []; //B玩家的牌
var cardC = []; //C玩家的牌
var randKey = []; //标记哪些key已经随机过了
// console.log("A玩家的牌=============22===================="+ JSON.stringify(cards[5]));
// console.log("A玩家的牌=============33===================="+ cards[5].length);
//第一个玩家随机炸弹概率
var AzhanDanRand = Math.floor(Math.random() * (3 - 1 + 1)) + 1;
console.log(AzhanDanRand);
for(var i = 0;i < AzhanDanRand;i++)
{
var randNum = Math.floor(Math.random() * (14 - 1 + 1)) + 1;
//console.log(randNum);
if(randKey.indexOf(randNum) == -1)
{
randKey.push(randNum);
for(var j = 0;j < cards[randNum].length;j++)
{
cardA.push(cards[randNum][j]);
}
}
else
{
while(1)
{
var randNum_ = Math.floor(Math.random() * (14 - 1 + 1)) + 1;
if(randKey.indexOf(randNum_) == -1)
{
randKey.push(randNum_);
for(var k = 0;k < cards[randNum_].length;k++)
{
cardA.push(cards[randNum_][k]);
}
break;
}
}
}
}
console.log("A玩家的牌================================="+ JSON.stringify(cardA));
var BzhanDanRand = Math.floor(Math.random() * (3 - 1 + 1)) + 1;
console.log("BzhanDanRand========================"+BzhanDanRand);
for(var i = 0;i < BzhanDanRand;i++)
{
var randNum = Math.floor(Math.random() * (14 - 1 + 1)) + 1;
//console.log(randNum);
if(randKey.indexOf(randNum) == -1)
{
randKey.push(randNum);
for(var j = 0;j < cards[randNum].length;j++)
{
cardB.push(cards[randNum][j]);
}
}
else
{
while(1)
{
var randNum_ = Math.floor(Math.random() * (14 - 1 + 1)) + 1;
if(randKey.indexOf(randNum_) == -1)
{
randKey.push(randNum_);
for(var k = 0;k < cards[randNum_].length;k++)
{
cardB.push(cards[randNum_][k]);
}
break;
}
}
}
}
console.log("B玩家的牌================================="+ JSON.stringify(cardB));
var CzhanDanRand = Math.floor(Math.random() * (3 - 1 + 1)) + 1;
console.log("CzhanDanRand========================"+CzhanDanRand);
for(var i = 0;i < CzhanDanRand;i++)
{
var randNum = Math.floor(Math.random() * (14 - 1 + 1)) + 1;
// console.log(randNum);
if(randKey.indexOf(randNum) == -1)
{
randKey.push(randNum);
for(var j = 0;j < cards[randNum].length;j++)
{
cardC.push(cards[randNum][j]);
}
}
else
{
while(1)
{
var randNum_ = Math.floor(Math.random() * (14 - 1 + 1)) + 1;
if(randKey.indexOf(randNum_) == -1)
{
randKey.push(randNum_);
for(var k = 0;k < cards[randNum_].length;k++)
{
cardC.push(cards[randNum_][k]);
}
break;
}
}
}
}
console.log("C玩家的牌================================="+ JSON.stringify(cardC));
var disCountA = 17 - cardA.length;
var disCountB = 17 - cardB.length;
var disCountC = 17 - cardC.length;
console.log("disCountA---------------------------------"+ disCountA);
console.log("disCountB---------------------------------"+ disCountB);
console.log("disCountC---------------------------------"+ disCountC);
console.log("三个玩家总炸弹牌个数---------------------------"+ ( cardA.length + cardB.length + cardC.length));
var tmpCard = [];
for(var i = 1;i <= 14;i ++)
{
if(randKey.indexOf(i) == -1)
{
for(var k = 0;k < cards[i].length;k++)
{
tmpCard.push(cards[i][k]);
}
}
}
for (var i = 0; i < tmpCard.length - 2; i +=2 ){
var randIndex = i + Math.floor(Math.random() * (tmpCard.length - i));
var temp = tmpCard[i];
tmpCard[i] = tmpCard[randIndex];
tmpCard[randIndex] = temp;
}
console.log("tmpCard=================1================"+ JSON.stringify(tmpCard));
console.log("tmpCard=================2================"+ tmpCard.length);
var tmpCardsNew = [];
var idx = 0;
//塞A的牌
for(var i = 0; i < cardA.length;i++)
{
tmpCardsNew.push(cardA[i]);
}
//补齐A的差牌
for(var i = 0; i <disCountA;i++)
{
tmpCardsNew.push(tmpCard[idx]);
idx++;
}
//B玩家的牌
for(var i = 0; i < cardB.length;i++)
{
tmpCardsNew.push(cardB[i]);
}
//补齐B的差牌
for(var i = 0; i <disCountB;i++)
{
tmpCardsNew.push(tmpCard[idx]);
idx++;
}
//c玩家的牌
for(var i = 0; i < cardC.length;i++)
{
tmpCardsNew.push(cardC[i]);
}
//补齐C的差牌
for(var i = 0; i <disCountC;i++)
{
tmpCardsNew.push(tmpCard[idx]);
idx++;
}
tmpCardsNew.push(tmpCard[tmpCard.length -1]);
tmpCardsNew.push(tmpCard[tmpCard.length -2]);
tmpCardsNew.push(tmpCard[tmpCard.length -3]);
console.log("tmpCardsNew=================1================"+ JSON.stringify(tmpCardsNew));
console.log("tmpCardsNew=================2================"+ tmpCardsNew.length);
console