GKLinearCongruentialRandomSource
一个实现线性同余的随机数发生器,快速但是随机数少于默认的随机数发生器。
概括
重要
GameplayKit中提供的随机化服务适用于可靠地创建确定性的伪随机游戏机制,但不具备加密性。对于加密,混淆或密码使用,请使用描述“加密指南”的Security框架。
要使用此随机源生成基本随机值,请使用GKRandom协议中定义的方法。 要生成具有特定范围和分布的随机值,请使用该随机源与GKRandomDistribution类或其子类之一。
当你创建此类的实例时,生成的随机源是独立的和确定性的,也就是说,一个实例生成的数字序列对任何其他实例生成的序列没有影响,并且该序列可以在必要时复制。有关复制序列的详细信息,请参阅seed属性和initWithSeed: 初始化方法。
线性同余随机源使用Donald E. Knuth在“计算机编程艺术”第2卷:半数学算法(第3.2.1节)中描述的算法,其通用种子掩码值为0x5DEECE66D。 因此,该随机源与该算法的其他实现兼容,包括Java中的java.util.Random类。 也就是说,如果您使用相同的种子值初始化GKLinearCongruentialRandomSource实例和兼容实现,则两者都生成相同的数字序列。Topics
创建随机源(Creating a Random Source)
- init
从非确定性种子初始化随机源。
- initWithSeed:
使用指定的种子数据初始化一个随机源。
复制随机行为(Replicating Random Behavior)
seed
确定随机来源行为的种子数据。
关系
继承
GKRandomSource