在我的spritekit游戏中,我产生了两个敌人中的一个。产生的敌人是使用arc4random_uniform(2)
随机生成的bool决定的。
我试图创建一种控制分配的方法。基本上,我不希望它连续生成3 1
个true
' s ...
我认为最好的方法是每次生成某些事情时检查,并增加一个计数,如果超过计数,则将生成的bool
更改为相反的值。
我觉得我有点困惑自己,因为我无法让它发挥作用。
是否有一种简单的方法可以执行此操作,还是可以修改我的代码以使其正常工作?感谢。
var randomSequenceNumber = Int(arc4random_uniform(2)) == 0 ? true: false
if randomSequenceNumber {
seqCount = randomSequenceNumber
obNum++
print("Obstacle Count: ", obNum)
}
if obNum <= 3 {
randomSequenceNumber = !seqCount
obNum = 0
}
(可能有一个主要的大脑放屁)
答案 0 :(得分:0)
Gameplaykit引入了一些新的随机数生成器,包括GKShuffledDistribution
,根据Apple的说法,它完全符合您的要求:
GKShuffledDistribution
对象产生的随机数在许多样本中均匀分布 分布式,但类似值的短序列不太可能
nextBool()
应该在分布的特征中给出一个新的随机布尔值。
希望这有帮助,
西蒙