Maison  >  Article  >  développement back-end  >  物品掉落概率表的设计模式问题

物品掉落概率表的设计模式问题

WBOY
WBOYoriginal
2016-06-23 14:16:511068parcourir

PHP mysql

小弟第一次发帖~
掉落概率表
id   物品id   冒险   活动   副本   对战   ...
1     5        8      10    12     14
2     7        15      5     20     0
3     9        20      0     30     0

意思是某物品(物品id) 在某行为(如冒险,副本)中掉落几率是多少

我想问下 这个表能这样建么
PHP代码怎么写呢
如 取打副本时获得物品id5的概率
$a=mt_rand(0,44);  //即8+10+12+14=44if($a<? && $a>?){  //随机数大于18小于30 //此处是得到物品的代码}

不知道?处怎么写 也就是说18和30怎么取得

回复讨论(解决方案)

不知道为啥这样写

不过如果是我做,肯定就直接rand(0,100)然后验证是否小于12.    12就是百分之12.

你这代码的意思是几种方式加起来的概率是100%?不明白为什么会有这种设定

恩 我的意思是 打副本得A物品的概率是10%

恩 我的意思是 打副本得A物品的概率是10% B物品是15% C物品时20%
那打副本时想得B东西 rand(0,45%)的值大于10%小于35%时才可以
那这10和35是这么取得呢

听1楼的,只要判断小于12就是你副本的概率

楼主是不是还有一个隐藏条件没说?: 每次最多只掉一件装备?

哦哦 发的例子是我写错了 sorry 
问题是我要掉好几样东西 也就是表里竖着看
小于12%是这样东西 那另一样(或更多)怎么写呢
得写>12 &&  就是不知道这个怎么写

大家读我在三楼说的问题吧 - - 
0楼我写错了 天啊 问题我都写错了

概率之和恒为 1(100%),你先把需求想清楚了再问

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn