GKShuffledDistribution

GKShuffledDistribution

一个随机数发生器,其均匀分布在多个采样中,但是类似值的短序列不太可能。

概括

混乱分布的行为有时被称为“公平”随机化,因为游戏中的真实随机性可能导致玩家延长“幸运条”或“不幸条”。要创建混乱分布并使用它来生成随机数,请使用其父类GKRandomDistribution定义的方法。 

GKShuffledDistribution类从其父类继承其整个接口,以初始化并使用混洗分布,使用GKRandomDistribution中列出的方法。 洗牌分布与其类的行为不同。 请考虑以下代码片段:

// Uniform distribution
GKRandomDistribution *uniform = [GKRandomDistribution d6];
for (int i = 0; i < 100; i++) { NSLog(@"%d", [uniform nextInt]); }
 
// Shuffled distribution
GKRandomDistribution *shuffled = [GKShuffledDistribution d6];
for (int i = 0; i < 100; i++) { NSLog(@"%d", [shuffled nextInt]); }

在这个例子中,每个分布从模拟的六面模型中产生100个随机整数。 在这两种情况下,结果的分配大致是一致的,也就是说,任何特定值的出现次数与任何其他值的出现次数大致相同。 但是,混乱分配确保不会重复任何一个值,直到它使用其所有可能的值。 在该示例中,如果模具滚动1,则混乱分布会出现其他5个值而不会产生另外的1。

重要

GameplayKit中提供的随机化服务适用于可靠地创建确定性的伪随机游戏机制,但不具备加密性。对于加密,混淆或密码使用,请使用描述“加密指南”的Security框架。

Topics

关系

继承

GKRandomDistribution


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值