0

所以我看到了这个:https ://www.quora.com/What-algorithm-do-slot-machines-use

这些随机数是如何产生的,以及这些随机数是如何进一步翻译的?

我打算制作一台基本的老虎机,但不知道从哪里开始。

好吧,我有一个想法使用类似的东西:

$randomNumber1 = rand(1,X);

对于每个插槽,但这似乎不是很有效,我将如何解决这个问题?

顺便说一句,这是上面链接中的一张图片,这与我的问题有关。 在此处输入图像描述

编辑:与具有 3x3 而不是 1x3 线的老虎机的样式功能是否相同?

4

2 回答 2

3

这取决于您希望老虎机有多逼真。如果你只是想让它随机支付,那么简单r = rand(1,X)就可以了。这是一个很好的开始方式,因为您可以证明您的游戏机制有效:所有图形和动画都正确显示,用户界面控件按预期工作,等等。

但真正的老虎机不只是随机显示所有可能的组合。例如,如果三个 7 比三个樱桃更频繁地支付,那么老虎机被设计为显示三个 7 的频率要低得多。毕竟,老虎机的目标是让房子赚钱。

老虎机背后的数学非常复杂:对于 Stack Overflow 的答案来说太过复杂了。与设置轮子以提供一致的支出相比,假设您获得均匀分布,您如何生成随机数并不是主要问题。

我的建议是您使用内置的随机数生成器,直到您的游戏正常运行。然后,如果您希望它更像真正的老虎机,请在您最喜欢的搜索引擎中输入“老虎机数学”,然后开始学习。

于 2019-07-14T00:17:55.610 回答
1

为此,我会使用久经考验的旧 Fisher-Yates 洗牌算法。 这个问题有一个 JavaScript 实现,它可以用于槽,如下所示:

let slotOptions = ["cherry", "seven", "bell", "bar"];

function play() {
    return [shuffle(slotOptions), shuffle(slotOptions), shuffle(slotOptions)];
}

let [slot1, slot2, slot3] = play();

// do something with those slots here
于 2019-07-13T23:54:44.247 回答