代码之家  ›  专栏  ›  技术社区  ›  Poni

老虎机付款计算

  •  7
  • Poni  · 技术社区  · 14 年前

    question 但它在这里帮不了我。

    试图在互联网上找到关于它的信息,但这个主题充斥着关于“如何获胜”或其他不相关的东西,我几乎找不到任何东西。不值得在这里张贴。

    我的问题是 ?

    理论上,当然。

    现在我可以简单地 在付费/接收间隔和固定槽结果之间拍摄随机数
    不过,这种方法听起来是合理的,尽管它涉及反向生成槽结果。。

    所有可能性的巨大列表 ,将它们保存在按顺序随机分配的数据库中,每次只轮询其中一个。
    这有很多缺陷——最大的缺陷是我将要得到的巨大列表(百万/十亿/等等的记录)。

    我当然希望这个问题有一个“答案”(:

    4 回复  |  直到 7 年前
        1
  •  2
  •   superfro    14 年前

    第一个问题是关键字 保证 保证 ,除非更改老虎机的逻辑。

    if(  customer_able_to_win() )
    {
       calculate_how_to_win();
    }
    else
      no_win();
    

    customer_-able_-win()是您的数据日志,它显示您获得的摄入量与您支付的金额之比,如果您低于95%,则customer_-able_-win()返回true;在这种情况下,calculate_-how_-win()根据您的百分比计算客户能够赢得的金额,因此,让我们选择一个24小时的采样周期。如果在过去的24小时里我已经支付了90%的钱,那么我可以支付高达5%。。。。让我们给5%一个数字,比如100美元。所以calculate_how_win说我最多可以支付100美元,所以我会找到一套能支付100美元或更少的卷轴,用户就可以赢。你可以加一点随机性,但要确保你的95%,你将不得不有一些其他的规则,如强制最高支付,如果你得到低于说80%,等等。

    如果你改变了一点算法,添加随机的混合,你将不得不有更多的这些警告。。。。。所以为了让用户觉得它是随机的,你可以。。。

    if(  customer_able_to_win() && payout_percent() < 90% )
    {
       calculate_how_to_win(); // up to 5% payout
    }
    else
      no_win();
    

    有了这样的东西,它会在你达到90%之前,在你达到95%之后,继续一个连败的状态,然后它会在你达到95%之前,继续一个随机递增的连胜状态。

    这不是一个完整的算法答案,而是一个如何思考老虎机如何工作的方向。

    想想。。。。首先想想如果你要赢,你要怎么赢,如果你不赢,你要怎么输,而不是随机数发生器决定你是否会赢。

        2
  •  15
  •   NoNaMe    12 年前

    你必须做卷轴条而不是庞大的数据库。以下是包含3个符号的非常基本的3卷游戏的简单示例:

    付款表:

    3xA = 5
    
    3xB = 10
    
    3xC = 20
    

    A = 3, 1, 1 (3 symbols on 1st reel, 1 symbol on 2nd, 1 symbol on 3rd reel)
    
    B = 1, 1, 2
    
    C = 1, 1, 1
    

    全周期(所有可能组合的总数)为 5 * 3 * 4 = 60

    现在您可以计算每个组合的概率:

    3xA = 3 * 1 * 1 / full cycle = 0.05
    
    3xB = 1 * 1 * 2 / full cycle  = 0.0333
    
    3xC = 1 * 1 * 1 / full cycle  = 0.0166
    

    然后您可以计算每个组合的回报:

    3xA = 5 * 0.05 = 0.25 (25% from AAA)
    
    3xB = 10 * 0.0333 = 0.333 (33.3% from BBB)
    
    3xC = 20 * 0.0166 = 0.333 (33.3% from CCC)
    
    Total return = 91.66%
    

    在现实生活中,你可能希望有狂野的符号,自由旋转和奖金。在这个答案中,它们的描述都相当复杂。

    适合谷歌关键词:PAR表,“插槽数学可以很有趣”的书。

    对于抽奖或二级机,你不能用这种东西。你必须用给定的奖品来显示一个组合。这是一项完全不同的任务,因此您可以尝试准备一个数据库,存储按奖品数量排序的组合。

        3
  •  1
  •   miku    13 年前

    多年前,我在澳大利亚的一家互联网赌场工作,这家赌场是世界上唯一一家完全由政府机构监管的赌场。你所说的产生“结构化随机性”的算法显然是非常复杂的,尤其是当你在各个方向说多条线、加倍、挑选西装、多次累积奖金等等的时候。

    我们州的扑克机法规要求支付97%的奖金。为了不礼貌地满足于我们的机器做到了这一点,他们让我们对机器进行了1000万次模拟转弯,然后想看看我们的游戏在法律规定的最小误差范围内获得了回报(我们有许多机器运行一个脚本来自动播放,使用一个脚本来模拟点击大约一周,然后我们达到1000万次)。

    不管怎么说,你所说的算法是昂贵的!它们的价格从每台机器50万美元到几百万美元不等,所以你可以理解,没有人会免费交出它们,这是肯定的。如果你想要一台单线机器,那就很容易做到。只需计算出你的符号/卡片和你想要的每一张的支付结构。然后你就可以把这些支出分配到非支出中,直到你得到各自的数字。显然,期权越多,意味着以这种利率支付的时间越长,它甚至可能更早地支付。命中率和奖品大小也是您可能要考虑的因素

        4
  •  0
  •   Matt Ellen Bipin Vayalu    14 年前

    一个简单的方法,如果你假设人们在一个时间段内赢得的次数是固定的:

    • 创建一个收集所有可能的玻璃杯组合与每个付出多少。

    • 第一次有人玩的时候,在那个时间段内,你可以以同样的概率提供所有的组合。

    • 如果他们赢了,从这段时间剩下的总金额中减去这个金额,并从可用的期权中去掉任何可能支付比你剩下的更多的组合。

    • 重置并重新开始下一个时间段。