由于最近有个网页端的抽奖推广活动,抽奖的随机性是个非自然随机应该是个公开的秘密了吧,因为公司本着不欺骗,又不能太亏的原则,把几十台苹果或者其他高端奖品全部交给运气来分配,自己无法控制的,始终是不安心,所以这里面就需要一些策略来处理。接下来一步步揭秘。
首先抛出一个无策略的策略,所有的奖品相当于一个数组,再随机生成一个数字,这时候,奖品已经确定,然后转盘开始转动,再停下,恭喜你,中了啥。这就是最简单的策略,但是这就比较考验老板的心脏了,全凭运气,说不定一天几十台就没了。所以,需要优化。接下来说说怎么优化。
首先可以为奖品这个数组加上一个权重,例如
var awardWeights = {
1:{
weight:1,
name:’1等奖’
},
2:{
weight:50,
name:’二等奖’
},
3:{
weight:300,
name:”三等奖”
},
4:{
weight:800,
name:”四等奖”
},
5:{
weight:1500,
name:”5等奖”
},
6:{
weight:10000,
name:’未中奖’
}
};
从调整这个权重,就可以比较好控制中奖概率了,例如这里的一等奖,概率就只有万里挑一了,如果老板再小气点,可以把权重再调小一点,不过别太刷用户了哦。
虽然这样控制力度细化了点,但是还是不好控制,假如你今天只想出去两台i