【发布时间】:2020-12-08 20:50:08
【问题描述】:
我的代码是一个喝酒或敢于玩的游戏。每次用户单击按钮时,它会抽取 1 张饮料卡和 1 张通配符。我遇到的问题是它多次选择相同的卡片,并且随机选择没有足够的多样性使其变得有趣。有什么办法可以减少选择相同卡片的次数。有时同一张牌会连续被选中 2 或 3 次。
var cards = [
'1-wildcard',
'2-wildcard',
'3-wildcard',
'4-wildcard',
'5-wildcard',
'6-wildcard',
'7-wildcard',
'8-wildcard',
'9-wildcard',
'10-wildcard',
'11-wildcard',
'12-wildcard',
'13-wildcard',
'14-wildcard',
'15-wildcard',
'16-wildcard',
'17-wildcard',
'18-wildcard',
'19-wildcard',
'20-wildcard',
'21-wildcard',
'22-wildcard',
'23-wildcard',
'24-wildcard',
'25-wildcard',
'26-wildcard',
'27-wildcard',
'28-wildcard',
'29-wildcard',
'30-wildcard'
];
var drinks = [
'1-drink',
'2-drinks',
'3-drinks',
'4-drinks',
'5-drinks',
'6-drinks',
'7-drinks',
'8-drinks',
'9-drinks',
'1-shot',
'2-shots',
'3-shots',
'4-shots'
]
function drawCard() {
var randomNumber = Math.floor(Math.random() * (cards.length - 1));
var randomNumber1 = Math.floor(Math.random() * (drinks.length - 1));
console.log(cards.length);
console.log(cards[randomNumber]);
document.getElementById("drinks").src = 'assets/js/games/cards/drinkordare/' + drinks[randomNumber1] + '.png';
document.getElementById("wildcard").src = 'assets/js/games/cards/drinkordare/' + cards[randomNumber] + '.png';
switch(cards[randomNumber]) {
}
switch (drinks[randomNumber1]) {
}
}
【问题讨论】:
-
您连续获得 2 或 3 个相同的频率是多少?连续多次获得同一张卡片仍然是随机的,但如果你想避免这种情况,你可以跟踪最后选择的几张卡片,并继续随机选择一张新卡片,直到它不是最近的重复。跨度>
-
人类不太擅长评估随机性,但非常擅长检测模式,即使没有模式。如果你只有 13 张“饮料”牌,那么平均每 13 次你就会得到同一张牌,有时会更频繁,因为这就是随机性的运作方式。所以你真正想要的是 less 随机的东西,避免再次选择相同的卡片。
标签: javascript html random playing-cards