javascript - 在 JavaScript 中使用 mod 运算符进行环绕

标签 javascript reactjs modulo poker

我正在使用 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 运算符吗?

最佳答案

善待iterator pattern

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/

相关文章:

Javascript 和集合

javascript - Google Maps API v3 map.fitbounds(bounds) 设置 map 缩放不正确的问题

reactjs - .htaccess 如何使用参数重定向到index.html,但参数值与文件夹名称相同

javascript - 使用 React 在每两个元素之后创建新的 ul

javascript - 当我从表单提交时只渲染一个 react 组件

javascript - AngularJS $resource GET 中的多个参数

javascript - JQuery/Knockout 自动完成脚本

python - 链式模运算的最大值

python - 为什么每次迭代都必须执行取模?

c++ - 碱基转换问题