专业算法专家认可

要用生成一副洗好的牌总共需要三步:

设定随机数种子 基于随机数种子用Mersenne Twister生成随机牌序列 基于随机序列用Fisher-Yates算法进行标准洗牌流程(交换过程的随机数产生也是基于Mersenne Twister)
1.首先是随机种子的选取。一切的洗牌过程都从一个随机种子开始,随机种子选取的优劣
对于最终发牌好坏有至关重要的影响。随机种子的来源叫做熵源,我们的熵源获得:基于
HAVEGE算法(硬件不确定熵的收集与扩增)原理,从硬件中直接产生。这是发牌服务器
DeckFactory的运行环境CentOS天生的优势。

2.计算机所生成的随机数都是PRNG,也就是所谓的伪随机数,伪随机数所产生的牌堆的
质量通常不够好,主要原因是被大多数平台忽略的随机数周期问题,数学上 我们可以清
楚的知道:52张牌的所有排列组合总数为52! 这个数字远超过计算机可以表示的最大数,64位的计算机系统从理论上是无法表现52!这么大的数字的,你们可以在电脑自带的计算器里尝试计算一下。那么如果计算机表示不了这个数字就更无从运算了,所以在以往的平台游戏中,我们可能能够玩到的只是52!中的很小的一部分(视其算法的优劣)那么自然而然的bb率高,冤家牌多等问题的本质原因相信大家也清楚了,因为你总是在玩那么一点点牌。我们通过数学方法提高随机种子的有效位数,从而完美的涵盖了52!种组合甚至还有冗余,判断随机数好坏的标准我们参考德国联邦信息安全办公室给出了随机数发生器质量评判的四个标准:相同序列的概率非常低/符合统计学的平均性,比如所有数字出现概率应该相同,卡方检验应该能通过,超长游程长度概略应该非常小,自相关应该只有一个尖峰,任何长度的同一数字之后别的数字出现概率应该仍然是相等的等等/不应该能够从一段序列猜测出随机数发生器的工作状态或者下一个随机数/不应该从随机数发生器的状态能猜测出随机数发生器以前的工作状态,经过严格论证,我们的随机数符合虽有规则。

3.洗牌算法采用国际通用的Fisher-Yates算法的同时,其随机性由数学证明保证。

4.Mersenne Twister随机数周期为2的19937次方-1故此得名MT19937,大家也可以自行计算一下2的19937次方-1远超52!经过我们自己的优化和修订完美的实现了基于MT19937的平均分布随机切换,在100亿手发牌记录中,统计表明我们的发牌和理论值仅有极微小的偏差,最大限度的提供公平性,因为我们深知这是一切的根本。

5.在通过以上手段保证了我们洗牌的随机性的基础上,我们采用Fortuna熵池的算法,保证了我们生成的随机序列的安全性——永远不会被破解。数学证明告诉我们,破解这个算法产生的一个一个随机种子所需的时间至少是13年,而这个随机种子通常在1分钟以内就已经被更换了。所以我们的发牌是绝对不会被预测的。

随机落座视频对决
玩家首次进入一局游戏时不能主动选择位置,而是由系统随机为其选择座位。且在落座五分钟内,该玩家不能调换位置。而在开启“视频对决”功能的某局游戏中,玩家必须开启摄像头进行游戏,同时也能看到对手的实时视频讯息。

地域显示相近提示
无论您处于哪一局游戏中,如果游戏中有其他玩家GPS定位很近的情况出现,则该玩家座位上将会出现有黄色标识警告您和其他玩家。而在开启“地域显示”功能的牌局中,玩家头像资料页中将显示其所在地域资料。