【问题标题】:How to reward amount to array player in game Bank - Player (nodejs-javascript)如何在游戏银行中奖励数组玩家的数量 - 玩家(nodejs-javascript)
【发布时间】:2019-10-20 17:00:19
【问题描述】:

我有一个简单的游戏,将有 2 方供玩家推动金额,最终游戏将有 1 方获胜。当然,中奖会收到他们下注的金额(不是全部)

  • A面:[{id: 123, amount: "200", timebet: 11}, {id: 124, amount: "220", timebet: 12}, {id: 125, amount: "300", timebet: 13 }]
  • B面:[{id: 555, amount: "100", timebet: 22}, {id: 556, amount: "200", timebet: 23}, {id: 557, amount: "250", timebet: 24 }]

结束游戏:

  • A 赢,B 输
  • 总赌注:720
  • B 总赌注:550

奖励玩家 A = 550(总 B 赌注),现金返还玩家 A = 170

  • 结果奖励=[{id: 123, amount: "200"}, {id: 124, amount: "220"}, {id: 125, amount: "130" }]

  • 结果返现 A = [{id: 125, amount: "170"}]

我想了很多,但我没有找到一个解决方案来确定列表奖励,以及列表玩家返现(奖励按投注时间排序,谁先下注,谁会提前获得奖励)。 谁能帮帮我(对不起我的英语)

【问题讨论】:

  • 对不起,我认为我不能很好地遵守规则来推荐解决方案。

标签: javascript arrays node.js for-loop math


【解决方案1】:

我不确定我是否理解你的问题,但我会尝试。

如果你先合并你的 to 数组:

const merged = [...sideA, ...sideB];

那么你就可以按照timebet排序了:

merged.sort((a,b) => a.timebet - b.timebet)

然后你有一个列表,其中第一个元素是第一个赌注,依此类推。

现在你可以用它做任何你想做的事了:

merged.forEach(bet => PayCashOut(bet););

否则,请添加更多信息。

【讨论】:

  • 哦兄弟,我会尝试申请我的项目,我刚加入nodejs。感谢回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
相关资源
最近更新 更多