用JS实现一个斗地主发牌器

//调用随机数
function roundNum(min = 0, max = 0) {
if (!isNaN(min) && !isNaN(max) && min >= 0 && max >= 0) {
min > max ? [min, max] = [max, min] : [min, max] = [min, max];
return parseInt((max - min + 1) * Math.random() + min);
} else {
return `您输入的有误,请重新输入!!!`;
}
}
//洗牌
function shuffle() {
// 牌组
let pukeCards = ['♠3', '♥3', '♣3', '♦3',
'♠4', '♥4', '♣4', '♦4', '♠5', '♥5', '♣5', '♦5',
'♠6', '♥6', '♣6', '♦6', '♠7', '♥7', '♣7', '♦7',
'♠8', '♥8', '♣8', '♦8', '♠9', '♥9', '♣9', '♦9',
'♠10', '♥10', '♣10', '♦10', '♠J', '♥J', '♣J',
'♦J', '♠Q', '♥Q', '♣Q', '♦Q', '♠K', '♥K', '♣K', '♦K',
'♠A', '♥A', '♣A', '♦A', '♠2', '♥2', '♣2', '♦2',
'small joker', 'big joker'];
let i = 54;
while (i) {
let roundCord = roundNum(0, i - 1);
pukeCards.push(pukeCards[roundCord]);
pukeCards.splice(roundCord, 1);
i--;
}
return pukeCards;
}
//发牌
function deal(puke) {
let player1 = puke.splice(0, 17);
let player2 = puke.splice(0, 17);
let player3 = puke.splice(0, 17);
let bottomCardS = puke.splice(0, 3);
console.log(`玩家1:${player1}`);
console.log(`玩家2:${player2}`);
console.log(`玩家3:${player3}`);
console.log(`底牌:${bottomCardS}`);
}
// 拿到洗过的牌
let account = shuffle();
// 开始发牌
deal(account);
想法就是先把整副牌的顺序打乱然后再依次发牌。

猜你喜欢

转载自www.cnblogs.com/weijiangZ/p/11878955.html