gpt4 book ai didi

javascript - 如何将 52 个随机生成的数字打印到控制台?

转载 作者:行者123 更新时间:2023-11-28 06:08:47 26 4
gpt4 key购买 nike

简单的代码,在纸牌游戏上工作,但是我一开始就遇到了这个错误。我正在尝试生成 52 个随机数并打印出与之关联的适当数组元素。这是我的代码:

    <!DOCTYPE html>
<html>
<head>

</head>
<body>
<button onclick="shuffleCards()">Shuffle Cards</button>
<script>
function shuffleCards() {
var cardDeck = ["1S", "1C", "1H", "1D", "2S", "2C", "2H", "2D", "3S", "3C", "3H", "3D", "4S", "4C", "4H", "4D", "5S", "5C", "5H", "5D", "6S", "6C", "6H", "6D", "7S", "7C", "7H", "7D", "8S", "8C", "8H", "8D", "9S", "9C", "9H", "9D", "10S", "10C", "10H", "10D", "11S", "11C", "11H", "11D", "12S", "12C", "12H", "12D", "13S", "13C", "13H", "13D", ];
var handUser = [];
var handCPU = [];
var shuffledDeck = [];
for (var i = 51; i < 1; i--) {
var randomNumber = Math.floor(Math.random()*(i + 1));
console.log(cardDeck[randomNumber]);
}
}
</script>
</body>
</html>

最佳答案

您的解决方案的一个问题是它不能保证每次都会返回一张唯一的卡,我假设您想要保证这一点。

如果这是真的,那么这个解决方案将迭代 52 次,每次使用 splice 方法从牌组中取出和取出一张牌:

var cardDeck = ["1S", "1C", "1H", "1D", "2S", "2C", "2H", "2D", "3S", "3C", "3H", "3D", "4S", "4C", "4H", "4D", "5S", "5C", "5H", "5D", "6S", "6C", "6H", "6D", "7S", "7C", "7H", "7D", "8S", "8C", "8H", "8D", "9S", "9C", "9H", "9D", "10S", "10C", "10H", "10D", "11S", "11C", "11H", "11D", "12S", "12C", "12H", "12D", "13S", "13C", "13H", "13D", ];
var total = cardDeck.length;
for (var i = 0; i < total; i++) {
var randomPos = Math.floor((Math.random() * (cardDeck.length-1)));
var randomCard = cardDeck.splice(randomPos, 1).pop();
console.log(randomCard);
}

关于javascript - 如何将 52 个随机生成的数字打印到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com