我正在使用 ReactJS 构建德州扑克 Web 应用程序。为了跟踪经销商按钮,我使用以下公式...
let currentPlayers = [
{name: "Foo", position: 1},
{name: "Bar", position: 2},
{name: "Baz", position: 3}
]
let dealerButtonPos = 1
dealerButtonPos = ((dealerButtonPos + currentPlayers.length ) % currentPlayers.length + 1 )
我在这里要做的是确保庄家按钮从位置 1 开始,并且在每轮开始时始终位于正确的位置。在这种情况下,庄家按钮应始终落在位置 1,然后是 2,然后是 3,然后再次是 1。
带有公式的函数将在每轮结束时被调用。这应该可以为最多 8 名玩家正确轮换发牌员按钮。 我会始终处于正确的球员位置吗?我是否正确执行此操作?我很难概念化并达到这一点。有人可以清楚地解释一下 mod 运算符吗?
最佳答案
let currentPlayers = [
{name: "Foo", position: 1},
{name: "Bar", position: 2},
{name: "Baz", position: 3}
]
function* currentPlayersIterator(players) {
let index = 0;
while(true)
if (index < players.length) {
yield players[index++]
} else {
index = 0
yield players[index++]
}
}
let i = currentPlayersIterator(currentPlayers)
console.log(i.next().value)
console.log(i.next().value)
console.log(i.next().value)
console.log(i.next().value)
console.log(i.next().value)
关于javascript - 在 JavaScript 中使用 mod 运算符进行环绕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44975435/