目录
步骤:
1.生成扑克牌
2. 洗牌
3.发牌
4.排序
cardArray
,用来存储生成出来的扑克牌。number
和 color
,分别存储扑克牌的数字和花色card
card
添加到 cardArray
数组中cardArray
数组中<script>cardArray=[];number=["3","4","5","6","7","8","9","10","J","Q","K","A","2"];color=["♠","♥","♣","♦"];for (let i=0;i<number.length;i++){for (let j=0;j<color.length;j++){let card={number:number[i],color:color[j],numWeight:i,colWeight:j}cardArray.push(card);}}cardArray.push({number:"大王",numWeight:15},{number:"小王",numWeight:14});
</script>
cardArray
数组,用随机数(注意转成整数)生成随机下标 iRand
<script>for (let i = 0; i < cardArray.length; i++) {let iRand = parseInt(Math.random()*cardArray.length );[cardArray[i],cardArray[iRand]]=[cardArray[iRand],cardArray[i]];}
</script>
player1
、player2
和 player3
,用来分别存储三个玩家手中的牌cardArray
数组中的前三张牌分别发给三个玩家cardArray
数组中移除,使用 shift()
方法可以将数组的第一个元素删除并返回该元素的值<script>let player1=[];let player2=[];let player3=[];for (let i=0;i<17;i++){player1.push(cardArray[0]);cardArray.shift();player2.push(cardArray[0]);cardArray.shift();player3.push(cardArray[0]);cardArray.shift();}
</script>
compareWeight
,用来比较两张牌的权重。该函数首先比较两张牌的数字权重,如果相等则比较花色权重,最后返回比较结果sort()
方法,对三个玩家手中的牌进行排序。sort()
方法接受一个比较函数作为参数,该函数用来指定排序的规则(a,b) => compareWeight(a,b)
作为比较函数,对牌按照权重进行升序排序<script>function compareWeight(a,b) {let rs1=a.numWeight-b.numWeight;let rs2lWeight;return rs1===0?rs2:rs1;}player1.sort( (a,b) => compareWeight(a,b));player2.sort( (a,b) => compareWeight(a,b));player3.sort( (a,b) => compareWeight(a,b));console.log( player1,player2,player3,"地主牌:",cardArray);
</script>
本文发布于:2024-01-30 16:56:27,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170660499121486.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |