当你new下Random对象时,数列就已经定好了。 但伪随机有个漏洞,那就是均匀分布,用人话说就是有保底。 在那些抽卡游戏里,在你抽到保底次数前的出货,全都是伪随机的保底。 比方说原神90抽保底,官方设置连续89次没中,那第90次必中。而前89次是否出金,就看伪随机中不中。 但是,你们发现没有,所有这些抽卡游戏,就算是臭名昭著的三国杀,随机数都不会高于四位数。 因为每次抽卡的时候,都要独立输出每次结果,低于四位数,多少抽都能瞬间反应过来。 但是三角洲有问题,那就是非洲之心,海洋之泪这一类极度稀有的物资。如果三角洲真的是相同爆率的话,那非洲之星的随机数将达到七位。 不要觉得七位随机数随随便便。不是这么算的,是它的数列要扩展到七百万位之后。且每次搜索都要重新扩展一次,这会严重影响游戏占用内存。这也是为什么那些抽卡游戏会固定在四位数以下,且大多是两位数。因为四位数它的随机数列顶多四万位,做为公共卡池,三国杀直接用自己的服务器算,这轻轻松松。其它游戏虽然不是公共卡池,但他们的随机数只有两位,数列更是不到百位。对玩家的设备根本造成不了负担。 那么很显然,三角洲不可能是把这些极稀有的物资放入池子里去随机。它极有可能是采用最省事的办法,账号创建之初就给玩家定好了这些物资的容器保底。且出货后重置保底次数(露天不算,露天是地图概率,和账号无关)。 拿大保险出非洲之星举例。账号A,创建之初,系统给他随机的保底数:100。也就是说他第一百次摸大保险的时候,会出非洲之星。当他出了非洲之星时,系统重新给他随机一个新的保底数:126 这种方式极为省时省力也很公平,全凭运气。 这个设计确实很好,但在实操的时候有了bug。项目组在设计保底的随机数时想必为了体现非洲之星的珍贵将随机数设置为了4位数。 这就使得一批账号一辈子都摸不出非洲之星。只能靠跑露天来出。(1000~9999次大保险你就摸吧)













































