php - 求教分配材料的算法
PHPz
PHPz 2017-05-24 11:33:26
[PHP讨论组]

现在有答题得材料的活动,总共三天
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
不滿足 第一二日,就為第三日,計算邏輯和計算第二日類似

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号