这就是生活
带权重的随机算法
游戏中常见杀怪掉落装备,掉落的装备依据权重随机掉落。比如
掉A装备 权重 30
掉B装备 权重 20
掉C装备 权重 50
算法:
1,将所有权重相加,得到totalWeight;
2,rand(1,totalWeight);
3,循环减去各权重,结果<=0,则跳出循环,完成掉落,否则减去权重后,继续参与运算;
另:为了获取更好的效果,在参加运算前,应将数组先做乱序处理。
Newer Posts
Older Posts
Home
Subscribe to:
Posts (Atom)