游戏抽奖,100发保底,中奖的概率计算公式是1%,如果100发没有中可以必得奖品,求出正态分布图

目前开发的游戏里需要处理玩家點击宝箱后随机得到一些钱得到钱的概率计算公式如下:

在这里我们需要先做一个能产生 1- 100之间的随机数,代码如下:

* 最小数 和 最大数 - 1 范圍的数
随机随机函数搞定后我们接下来就做一个概率计算公式计算函数,代码如下:
* 根据概率计算公式表产生一个概率计算公式下标
好叻接下来测试一下吧!

现场由主持人抽奖4万个订单,金额满 100元有一次抽奖机会。

比如:A客户交了300元B客户100元,C客户50元那么:

从数据库中读取符合条件的订单客户

把客户按订单规则存入数組,如:

但是现在这个数据非常大如果用这个算法,感觉不适合。

请问有没有什么好的想法和思路

最近在做移动端的营销活动其Φ包含刮刮卡、大转盘等小游戏,对于用户来说他们不关心Code只关心我是否中奖了之前也在群里看到有人要概率计算公式的“算法”或者說是计算工具类。

ps:这里不得不提一下每当自己在做什么东西的时候总会在一些地方发现相似的需求或者文章,来源有很多比如:cnblogs、QQ群等各种渠道这不刚刚还有人发表随机数相关的文章,哈哈可能是我运气好

营销活动核心——我是不是中奖了呢?

是不是中奖都有一个概率计算公式和巧合性那么肯定少不了随机数了说到随机数各位Coder们肯定想到了Random这个类,是的这一次的概率计算公式计算的实现也是基于随機数的

下面我们来看概率计算公式服务接口:

接口十分的简单一起有两个方法,第一个方法比较纯粹的计算概率计算公式而第二个则添加了一些修正概率计算公式所需的数据。

这边就需要引入“”今天的热乎文章了内部使用Random有很多的不确定性,而且不易于扩展所以这邊提供了一个委托提供随机数而概率计算公式服务本身只专注于计算,如果非要高大上点就引入设计原则——单一职责

//如果概率计算公式大等于100则每次都命中。 //得到概率计算公式的百分比 //如果概率计算公式大等于100则每次都命中。 //得到概率计算公式的百分比 //得到当前命中的概率计算公式。 //如果当前命中的概率计算公式大于传入的概率计算公式则不会命中 //精简小数位,提升概率计算公式准确性 /// 精简數字的小数位。 //精简小数位提升概率计算公式准确性。 //该方法会提高准确性但会影响性能适用于高精度场景。

代码有较详尽的注释这邊不再说明了

当然,这是我的一贯作风

第一行为接口的第一个方法(纯粹的概率计算公式计算),第二个行为接口的第二个方法(带簡单修正)

//每一次执行的测试次数(当前为10w次)。

已经写了一些“散文”做为锻炼之后准备写一个系列挑战一下,不过最近在做项目等手上的模块做完之后,开始着手针对 Orchard Framework 写一个刨析系列当然中间可能会穿插一些小文章,喜欢Orchard的朋友们可以留个言留个脚印

我要回帖

更多关于 概率计算公式 的文章

 

随机推荐