首先声明,我只是简单介绍几个常用判定方法,里面所提举的例子不保证完全符合事实,但保证是游戏里会出现的判定方式
具体JS用的哪个大家自己考虑吧,我没那个能力反编译JS的程序,我只是给大师们提个醒
对于这种无法预知结果的乐透,我们通常称作它是一个随机数
比如掷骰子,丢硬币,乃至现在的点奇穴,我们都可以认为它是一个随机的过程
==========分割线-简单随机与伪随机==========
1.简单的随机函数
首先呢计算机里是没有绝对的不可预知的随机过程的
我们通常玩游戏丢点数(-roll),虽然每次出来的结果都不同,但都属于JS编制的一个函数数列
(数列满足条件:均值=50,方差足够大,具体意思不清楚也没事,就是表示数列里1-100每个数字出现的次数是基本相同的)
也就是说,我们如果知道这个函数,就能知道下一次我们会得到多少点,这个点是确定无法改变的
2.游戏里的判定
当我们有了这个数列,我们就可以做其他函数来计算游戏中的数据
举例1:暴击
假设我们的暴击率为25%
那么这次攻击是否暴击呢?具体判定方式如下:
首先取数列里的下一个数,假设为20
判定其是否在1-25之内(是或否)
判定为是,则玩家本次攻击打出暴击效果
3.伪随机
如果经常玩魔兽争霸3或者dota的同志们也许会了解这个东西
在dota里所有英雄的暴击或者闪避数据都是一个“伪随机”过程
它也是使用的上面的判定方式,但是它有个数据补偿,据说在一些有强化的游戏里,为了避免玩家强化失败损失过大,也会有这个补偿措施、
举例2:暴击(伪随机)
假设我们的暴击率仍旧是25%
那么下面几次攻击是否会暴击呢?具体方式如下:
第一次攻击
首先取数列里的下一个数,假设为72
判定其是否在1-25之内(是或否)
判定为否,则玩家本次攻击不暴击
第二次攻击
仍旧使用这个数,即72
判定其是否在1-(25+25),也就是1-50之内
判定为否,则本次玩家不暴击
第三次攻击
仍旧使用这个数,即72
判定其是否在1-(25+25+25),也就是1-75之内
判定为是,则玩家在第三次攻击中暴击
伪随机通过这种补偿,保证你一定能在1/p次内达到目的(p为暴击,ROLL点,闪避的概率)
这也是很多游戏里某些所谓强化大师用的垫刀流(找便宜东西连续强化失败,再强化需要的装备)理论依据
==========多元回归-大师所用的奇穴经验==========
根据大师所说的时间地点,大周期小周期等等,我判定大师用的是多元回归分析来寻找奇穴奥义的
多元回归其实是个函数
比如我们都知道,人身高(h)和体重(w)是有关系的
一般来说身高越高,体重会越高,但是并不是说身高高的人一定比矮的人胖
还有人的基因组(g),性别(s),都是影响到体重的因素
我们可以简单写出一个关系式
w=ah+bg+cs+e
a,b,c是未知系数,e是统计误差
我们同时还知道,身高超过一定数值,体重增加值会减少,甚至不增加(奥尼尔和姚明谁胖。。。类似于这种)
这就是多元回归里,“回归”2字的来源
那么好,回到大师的理论
大师认为奇穴(q)是与时间(t),点奇穴的地点(坐标x,y)以及他的部分经验有关系(j)
那么依此列出方程
q=at+bx+cy+dj+e
a,b,c,d是未知系数,e是统计误差
t,x,y属于周期性数列
理论上这个方程并非不可能存在,同时我们并不计较这个方程系数大师是否能够通过100个样本计算出来,也不计较金山是否会采取这样麻烦的方式判定
但是大师你是否考虑过e,也就是统计误差的问题?
须知任何统计的过程都会存在误差,并且是一定存在误差
我看到你的样本数为100,全FWQ玩家即使不多也有10000+了吧,样本率仅仅不到1%
如果不能保证限制误差,差之毫厘失之千里,这个不用我解释
==========个人的见解==========
金山官方曾经给出过奇穴几率,玩家解包看到奇穴判定过程也是个简单随机
假如说真的有办法点10重,就是先找到JS用的函数数列
然后观察多少个数据使用这个数列,接下来利用暴击,点穴成功或失败,闪避,-roll等指令把不想要的数字通通使用光
最后在需要的数字(100)即将出现时点奇穴
说起来是这样,做到有多难不需要我解释