求教分配材料的算法

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

阅读 2.1k
2 个回答

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

雖然沒做過這種東東,但是可以表達一下個人想法
由於你沒法確定出用戶抽獎的人數和各個材料的數據(非材料四)
二對材料四顯示,第一日不出現,第二日不多於50,活動結束不多於200
所以材料四概率和材料1,2,3系分開,即計算出材料四概率,不出就計算1,2,3(直接用隨機數就ok)

變量有
材料四總數,活動開始時間,結束時間,當前時間,材料四第二日顯示數,抽出的編碼

代碼
判斷是否為第一日
是 材料四機率0 隨機分配123
否 判斷是否為第二日
是 判斷材料四抽出總數是否超過50 是 的話直接隨機分配123,否的話,計算材料四概率 材料四概率可以以 材料四的剩餘總數為分子,當前抽獎總數為分母,當然為防止分母數過低,應該設定個最低值,假如計算不出材料四,即隨機分配材料123
不滿足 第一二日,就為第三日,計算邏輯和計算第二日類似

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题