字号:

数据帝解密天龙墓穴箱子各种物品出现的几率

时间:2013-04-15 11:39 作者:Dreams损友 手机订阅 参与评论(0) 【投稿】
文 章
摘 要
游戏设定是一次刷出一个箱子,一共6次,也就是6个箱子。箱子刷出的位置采用随机选择的方法,也就是从12个位置中任选6个。这是序号因此,所有的箱子排列有C(12,6)种,也就是12*11*10*9*8*7/6*5*4*3*2*1=924种特别说明的是,箱子刷出的位置跟其他任何东西都没

游戏设定是一次刷出一个箱子,一共6次,也就是6个箱子。
箱子刷出的位置采用随机选择的方法,也就是从12个位置中任选6个。

这是序号


因此,所有的箱子排列有C(12,6)种,也就是12*11*10*9*8*7/6*5*4*3*2*1=924种

特别说明的是,箱子刷出的位置跟其他任何东西都没有关系,只是随机选取924种其中的1种。
然后,就是大家最关心的箱子物品问题。
先要说明的是,箱子里的物品是在宝箱刷出的时候就已经放到里面的。开不开箱子,东西都已经在里面了。再接着,就是往里面放什么东西的问题。

首先,是一定会放进去的,无疑就是翡翠矿石。
接下来,就是再不再往里面放东西的问题了。
还是看下代码吧
if random(100) <= 80 then
local ItemSn, ItemName, bBroadCast = GetItemSnByDropRateOfItemTable()
AddItemToBox(sceneId,targetId,QUALITY_MUST_BE_CHANGE,1,ItemSn)
end 解释一下,代码中的“if”就是“如果”的意思,“random(100)”就是取一个“随机数”,这个数在0到100之间,“<=”是“小于等于”,“then”是“然后”的意思。
即是,如果这个数小于等于80,然后执行下面的代码,如果大于80,那就不再往里面放东西,这时的箱子就是大家说的“空箱子”。

所以,空箱子出现的几率是20% 。如果不是空箱子,那就执行GetItemSnByDropRateOfItemTable(),取得一个物品。

然后执行AddItemToBox()放进箱子里面。现在关键的是取物品这里,首先看一下表DropRateOfItemTable(物品掉落几率表)因为表比较长,虽然是txt格式,不过发到这里就会变形,大家看得也不清楚。所以,就选重要的讲吧!
表里面,写着每一样物品出现的几率,这里只写高级技能书的。
其中,每一种技能书出现的几率是一样的,都是47/10000=0.47%,是不是很小的几率?
不过,一共有25种技能书,所以出现技能书的几率就是25*0.47%=11.75%
另外,别忘了之前说过的空箱子的几率,所以不是空箱子出书的几率只有(1-20%)*11.75%=9.4%
这只是一个箱子出现的几率,那6个箱子呢?看上去是6*9.4%=56.4%

不过,问题似乎没这么简单。

其实,无论我们开多少个箱子,任一个箱子出书的几率都是11.75% 那全开有书的几率又是多少呢?



有书分为1本、2本、3本、4本、5本、6本书,6种情况,而没书只有一种情况,就是0本书
所以计算一下没书的概率,一个箱子没书的几率是20%+80%*(1-11.75%)=90.6%
那么,6个箱子都没书的几率是90.6%^6=55.30561%,(就是90.6%的6次方)
所以,6个箱子全开有书的几率是1-55.30561%=44.69439%,约等于44.7% 
总结一下,一个箱子有书的几率是9.4%,6个箱子全开有书的几率是44.7% 另外,从这里可以看出,很遗憾的是,箱子有没有书跟箱子排列是没有关系的,至少是没有直接关系的。

总之,游戏里凡是关系到几率问题的,都是通过random()这个简单的随机函数来实现的,并没有我们想的那么复杂。

还有,我想说的是,很多东西,有人宁信其有,勿信其无。就好像随机函数,也会分为真随机和伪随机。

所以,关于规律这东西,**一点的说法是,信则有,不信则无。
最后,祝各位友友紧紧抓住几率挖出越来越多的高级血祭!!!




























加入17173玩家俱乐部,100%领《原神》月卡、《王者荣耀》888点券、《魔兽世界》T恤等周边好礼!
加入方式:微信关注“17173服务号”

玩家原创小说

全球新闻