用js实现一个简单的斗地主发牌

用js实现一个简单的斗地主发牌
代码如下
//生成54张牌
function poker() {
let num1 = [“2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “J”, “Q”, “K”, “A”];
let num2 = [“梅花”, “方块”, “黑桃”, “红桃”];
let num3 = [ ];
num3.push(“大王”, “小王”)
for (let i = 0; i < num1.length; i++) {
for (let k = 0; k < num2.length; k++) {
num3.push(num2[k] + num1[i]);
}
}
return num3;
}
//随机生成范围内的数字
function getRandomNum(min, max = 0) {
if (min > max) {
[min, max] = [max, min];
}
return parseInt((max - min + 1) * Math.random() + min);
}
//获取54个随机不重复数,用于打乱牌组
function daluanpoker() {
let diannaoset = new Set();
let k =true;
while (k) {
diannaoset.add(getRandomNum(0, 53)); //去除随机数的重复
if (diannaoset.size == 54) {
let arr = […diannaoset]; //54个随机数
k=false;
return arr;
}

}

}
//排序
function paixu(player1,player2,player3,arr) {
player1 = arr.splice(0,17).sort((a,b)=> b - a) ;
player2 = arr.splice(0,17).sort((a,b)=> b - a) ;
player3 = arr.splice(0,17).sort((a,b)=> b - a) ;
return [player1,player2,player3,arr];
}
//发牌
function fapoker(player,num3) {
let temp =[ ];
for(let i in player) {
temp.push(num3[player[i]]);
}
return temp;
}
//主程序
function main() {
console.log(欢迎来到欢乐斗地主);
console.log(“1、开始游戏 2、退出”);
let option = rs.question() - 0;
switch(option){
case 1:
let player1 = [];
let player2 = [];
let player3 = [];
let dipai = [];
let poker1 = poker();
let arr = daluanpoker();
let temp = paixu(player1,player2,player3,arr);
[player1,player2,player3,dipai]=[…temp];
player1 = fapoker(player1,poker1);
player2 = fapoker(player2,poker1);
player3 = fapoker(player3,poker1);
dipai= fapoker(arr,poker1);
break;
case 2:
break
}

}
main();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值