Jetzt gibt es eine Aktivität, um Materialien durch Beantwortung von Fragen zu erhalten, insgesamt drei Tage
4 Arten von Materialien 1, 2, 3, 4. Material 4 ist ein knappes Material.
Wenn Sie die Frage richtig beantworten, wird am ersten Tag kein Material an die Spieler verteilt und am zweiten Tag werden nicht mehr als 50 Exemplare von Material 4 erscheinen. Es wird nicht mehr als 200 Exemplare von Material 4 geben (da die Gewinnerliste auf 200 Personen (innerhalb) begrenzt ist
Der Spieler, der Material 4 erhält, muss zuvor 1, 2 und 3 gesammelt haben, damit er den Preis gewinnen kann
Wie schreibe ich den Algorithmus zur Materialzuteilung am besten?
这无非就是敬业福的玩法。123随便给,不用限制数量,只要控制好4的数量即可。第一天,奖项3个,后面两天奖项变成4个。抽奖,抽到4判断是否超过当天限额,超过了,就随机返回1、2、3的其中一个即可。
雖然沒做過這種東東,但是可以表達一下個人想法
由於你沒法確定出用戶抽獎的人數和各個材料的數據(非材料四)
二對材料四顯示,第一日不出現,第二日不多於50,活動結束不多於200
所以材料四概率和材料1,2,3系分開,即計算出材料四概率,不出就計算1,2,3(直接用隨機數就ok)
變量有
材料四總數,活動開始時間,結束時間,當前時間,材料四第二日顯示數,抽出的編碼
代碼
判斷是否為第一日
是 材料四機率0 隨機分配123
否 判斷是否為第二日
是 判斷材料四抽出總數是否超過50 是 的話直接隨機分配123,否的話,計算材料四概率 材料四概率可以以 材料四的剩餘總數為分子,當前抽獎總數為分母,當然為防止分母數過低,應該設定個最低值,假如計算不出材料四,即隨機分配材料123
不滿足 第一二日,就為第三日,計算邏輯和計算第二日類似