php - 求教分配材料的算法
PHPz
PHPz 2017-05-24 11:33:26
0
2
1175

现在有答题得材料的活动,总共三天
4种材料1,2,3,4。材料4是稀缺材料。
答题正确给玩家发放一种材料,第一天材料4不出现,第二天材料4出现不多于50份,到活动结束,材料4不多于200份(因为中奖名单得限制在200人内)
得到材料4的玩家需要之前已经集满1,2,3,以便可以中奖
这个分配材料的算法该怎么写才最好?

PHPz
PHPz

学习是最好的投资!

全部回复(2)
淡淡烟草味

这无非就是敬业福的玩法。123随便给,不用限制数量,只要控制好4的数量即可。第一天,奖项3个,后面两天奖项变成4个。抽奖,抽到4判断是否超过当天限额,超过了,就随机返回1、2、3的其中一个即可。

漂亮男人

虽然没做过这种东东,但是可以表达一下个人想法
由于你没法确定出用户抽奖的人数和各个材料的数据(非材料四)
二对材料四显示,第一日不出现,第二日不多于50,活动结束不多于200
所以材料四概率和材料1,2,3系分开,即计算出材料四概率,不出就计算1,2,3(直接用随机数就ok)

变量有
材料四总数,活动开始时间,结束时间,当前时间,材料四第二日显示数,抽出的编码

代码
判断是否为第一日
是材料四机率0 随机分配123
否判断是否为第二日
是判断材料四抽出总数是否超过50 是的话直接随机分配123,否的话,计算材料四概率材料四概率可以以材料四的剩余总数为分子,当前抽奖总数为分母,当然为防止分母数过低,应该设定个最低值,假如计算不出材料四,即随机分配材料123
不满足第一二日,就为第三日,计算逻辑和计算第二日类似

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!