Onclick赢得百分比并显示数字

时间:2019-01-05 05:30:06

标签: php jquery

我创建了一个投注脚本,并且需要有关“高”或“低”按钮的帮助。

我创建了一个确定机会的输入值。例如,获胜的机会是5%。因此,当用户单击高/低按钮时,该功能将考虑获胜的机会(5%)。这意味着95%的用户会蒙受损失。

当用户单击它时,我实现了一个随机数。

例如, -获胜的机会是5% -按钮HIGH是950000〜999999之间的随机数 -按钮LOW是介于0〜49999之间的随机数

如何在高或低单击按钮时获得结果,用户将有5%的机会获胜,而有95%的机会失去

请帮助 谢谢

1 个答案:

答案 0 :(得分:0)

我写的代码正是这样做的。这是the GitHub repository
这是与您相关的部分:

probSelect.php

<?php
    require_once("confirm.php");
/*
*   A function to select an element from an array with indicated probabilites.
*   Input: 
*       An associative array whose keys are the elements to be selected from, and whose values are the associated probabilities.
*   Output: 
*       The selected element, or "NULL" if an invalid probability distribution was supplied. 
*   @params 
*       array $arr: The array containing the probability distribution.
*/  
    function probSelect(array $arr) 
    {
        if(confirm($arr))
        {
            $var = lcg_value(); #The random float that would be used to select the element.
            $sum = 0;
            foreach ($arr as $key => $value) 
            {
                $sum += $value;
                if($var <= $sum)
                {
                    return $key;
                }
            }
        }
        else
        {
            print("ERROR!!! The supplied probability distribution must sum to 1. <br>");
            return null;
        }
    }

说明

confirm()是一个函数,用于确认向probSelect()提供了有效的概率分布。如果提供的概率分布有效,则代码的内容位于if块中。
lcg_value()生成01之间的随机浮点数。这个随机数($var)是我算法的有效成分。
然后使用foreach遍历数组,对数组的值求和。如果$var小于或等于当前总和,则返回当前密钥(我称其为登陆该密钥)。

上面的算法生成概率选择,因为$var落在任何给定键上的机会与该键的值(即其概率质量)完全相同。