【发布时间】:2018-04-02 07:41:31
【问题描述】:
在线二十一点游戏使用什么洗牌方法?他们是在代码中保留一副卡片表示形式,还是只是将每手牌视为从一组卡片中随机抽取的全新选择?
【问题讨论】:
-
好吧,如果每手牌都是全新的,那它就不会是二十一点,所以必须有一个模拟的牌组“鞋子”。它是一个实现细节,它是如何模拟的。最自然的事情是提前进行 Fisher-Yates 洗牌,但这只是猜测,因此有点基于意见,也过于宽泛。虽然这是一个有趣的问题,但我认为这并不是真正的话题。此外,您的问题似乎假设所有站点都使用相同的方法。为什么这是真的?
-
你没有要求它,但我提到它:他们将使用(1)外部熵(物理测量;也许与站点相关的时间/用户行为,尽管不是后一个单独的)( 2)cryptoPRNG。 - 其余的取决于游戏;但如果需要改组,Fisher-Yates 就很棒(给定一些随机位)。
-
那些正确做到这一点的人将正确地模拟一副带有数组的卡片或卡片,使用具有超过 240 位状态的良好 RNG,使用减少采样来制作它与鞋子的大小一致,再加上适当的 Fisher-Yates 重新洗牌,当剩余大约 15% 的牌时,可以正确模拟实际的赌场练习。我猜只有不到 10% 的软件二十一点游戏能够正确地做到这一点。
标签: random cryptography shuffle blackjack gambling