作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
点击
function click() {
createCards();
pickCard();
}
选择卡片
function pickCard() {
var x = Math.floor(Math.random() * ((15 - 0) + 1) + 0);
var title = cards.chance[x].title;
console.log(x + ". " + title);
//pop the array we just picked
//adjust Math.floor since there are only 15 cards to pick from instead of 16
}
创建卡片
function createCards() {
cards = {
chance: [{
title: 'Advance to go',
type: 'move',
position: 40
}, {
title: "Advance to London",
type: "move",
position: 39
}, {
title: "Your ass is going to jail",
type: "move",
position: 10
}, {
title: "Advance to Rome",
type: "move",
position: 24
}, {
title: "Advance to Charles de Gaulle",
type: "move",
position: 15
}, {
title: "Advance to Amsterdam",
type: "move",
position: 11
}, {
title: "Go back 3 spaces",
type: "movex",
position: -3
}, {
title: "No drink and driving mate1",
type: "bill",
bill: 20
}, {
title: "Get out of Jail free card",
type: "bill",
bill: 150
}, {
title: "Pay school fees",
type: "bill",
bill: 150
}, {
title: "Speeding fine",
type: "bill",
bill: 150
}, {
title: "Bank pays you dividend",
type: "bonus",
bonus: 40
}, {
title: "You have won the competition",
type: "bonus",
bonus: 200
}, {
title: "Your building loan matures",
type: "bonus",
bonus: 200
}, {
title: "You are assessed for street repairs $40 per house $115 per hotel",
type: "billx"
}, {
title: "House repairs $25 per house $100 per hotel",
type: "billx"
}]
};
好的伙计们,我正在尝试随机选择一张卡片,然后我想弹出它,但是由于我使用的是随机生成器,所以我必须调整最小值和最大值,因为数组中会少一张卡片.我也会接受一个更好的答案,一个更有效的方法。例如洗牌?我不知道那会如何工作。
最佳答案
您可以使用splice
弹出元素并使用array.length
而不是使用固定数字。
// if there are no more cards, create them
var cardsLeft = cards.chance.length;
if(cardsLeft == 0){
createCards();
}
// Math
var x = Math.floor(Math.random() * cardsLeft);
// pop
cards.chance.splice(x, 1);
关于javascript - 垄断挑选随机卡和弹出阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350409/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
在《大富翁》中,当玩家落在机会或社区宝箱上时,会抽出一张牌,可能会指示玩家前进到不同的位置,在这种情况下,即使玩家掷出双倍,该玩家的回合也结束了。我正在尝试将这个功能合并到我的代码中。 Here is
我是一名优秀的程序员,十分优秀!