抽奖奖品概率的算法_游戏抽奖概率

9小时前 (09:35:04)阅读2回复0
wsygfsj
wsygfsj
  • 管理员
  • 注册排名5
  • 经验值510260
  • 级别管理员
  • 主题102052
  • 回复0
楼主

抽奖奖品概率的算法

可以预定义一个数,然后根据百分比计算各自的门槛值。如下: (注意:概率需要从小到大排列,因为用if判断的问题。

) #define BASE_NUMBER 32767 #define BASE_DIV 100 #define RATE1 1 #define RATE2 5 #define RATE3 20 #define RATE4 74 int var1, var2, var3, var4; main() { var1 = (int)((float)BASE_NUMBER*RATE1/BASE_DIV)

; var2 = (int)((float)BASE_NUMBER*RATE2/BASE_DIV)

; var3 = (int)((float)BASE_NUMBER*RATE3/BASE_DIV)

; var4 = (int)((float)BASE_NUMBER*RATE4/BASE_DIV); ....

. if ( rand <= var1 ) { // 第一种 } else if ( rand <= var2 ) { // 第二种 } else if ( rand <= var3 ) { // 第三种 } else { // 第四种 } ... } 如上,只需要改变BASE_DIV 和RATE1 2 3 4就能控制

0
回帖

抽奖奖品概率的算法_游戏抽奖概率 期待您的回复!

取消