所以我看到了这个:https://www.quora.com/What-algorithm-do-slot-machines-use
这些随机数如何在听觉上产生,以及如何进一步翻译?
我打算制造一台基本的老虎机,但不知道从哪里开始。
好吧,我有个主意要使用:
$randomNumber1 = rand(1,X);
对于每个插槽,但这似乎并不十分有效, 我该如何解决?
顺便说一下,这是上面链接中的一张图像,该图像考虑了我的问题。
编辑:使用3x3而不是1x3线的老虎机会具有相同的样式功能吗?
答案 0 :(得分:3)
这取决于您希望老虎机的现实程度。如果您只是希望它随机付款,那么简单的r = rand(1,X)
就可以了。这是一个很好的开始,因为您可以证明游戏的机制能够正常工作:所有图形和动画都能正确显示,用户界面控件可以按预期工作,等等。
但是真正的老虎机不仅会随机显示所有可能的组合。例如,如果三七的赔付频率比三樱桃高,那么投币游戏机的显示三七的概率要低得多。毕竟,老虎机的目标是让房子赚钱。
投币式游戏机背后的数学非常复杂:对于堆栈溢出的答案来说,涉及太多。与设置轮子以提供一致的支出相比,假设您得到均匀的分布,如何生成随机数并不是主要问题。
我的建议是您使用内置的随机数生成器,直到您的游戏开始运行。然后,如果您希望它像真正的老虎机一样工作,请在您喜欢的搜索引擎中输入“ slot machine math”,然后开始学习。
答案 1 :(得分:1)
为此,我将使用久经考验的Fisher-Yates老算法。 This question具有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