资讯专栏INFORMATION COLUMN

PHP随机概率计算函数

ruicbAndroid / 1329人阅读

摘要:在游戏开发中,会经常碰到计算概率的场景下面的代码就是一个最简单的根据给定概率计算出随机结果的实例出现的概率是,是,是,是更复杂的可能会在概率之上加上权重。

在游戏开发中,会经常碰到计算概率的场景
下面的代码就是一个最简单的根据给定概率计算出随机结果的实例

10,
"b" =>20,
"c" =>30,
"d" =>40
];

function proRand($pro)
{
        $ret = "";
        $sum = array_sum($pro);
        foreach($pro as $k=>$v)
        {   
                $r = mt_rand(1, $sum);
                //echo $r . "	" . $v . "
";
                if($r <= $v) 
                {   
                        $ret = $k; 
                        break;
                }else{
                        $sum = max(0, $sum - $v);
                }   
        }   
        return $ret;
}
echo proRand($pro);

更复杂的可能会在概率之上加上权重。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20713.html

相关文章

  • 如何对用户密码进行加密

    摘要:结论对用户密码进行加密时需要做到防止用户密码明文被窃听交给,明文传输。为什么盐可以明文存储攻击者很难有足够的计算资源和存储空间建立海量的哈希值密码数据库,针对单条用户记录,建立哈希值密码数据库进行攻击的成本过高。 摘要 密码验证是很常见的需求,如何在实现功能之余,防止用户密码泄露,已经有了很成熟的方案。这篇文章把自己的思考和结论做一下记录。 结论 对用户密码进行加密时需要做到: 防止用...

    张率功 评论0 收藏0
  • Python numpy线性代数与随机漫步知识详解

      小编写这篇文章的主要目的,主要是给大家做出来一个解答,解答Python numpy中,线性代数知识以及随机漫步知识,就这些知识下面给大家做出一个详细解答。  线性代数  线性代数,矩形计算公式,优化与内存;比如矩阵乘法,分解,行列式等数学知识,是所有数组类库的重要组成部分。和MATLAB等其他语言相比,numpy的线性代数中有所不同的是矩阵相乘不是点积运算而是逐个元素计算,因此在numpy里面...

    89542767 评论0 收藏0
  • 北京小客车摇号程序PHP

    摘要:提取随机数类官方虽然提供了版的摇号程序,但是作为世界上最好的语言怎能不尝试一下呢从之前的文章自己实现随机数,我们不难发现,如果随机种子的固定的话,那么我们产生的随机数也是固定的。 相信很多北京本地or北漂一族摇了N年车牌号的人大有人在,作为一个即将加入摇号大军的程序员,带着好奇心查看了一下摇号相关的规则和程序,是否公平公正公开公... 官方信息 温馨提示:摇号月的25日,在公证人员的公...

    zorro 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<