控制使用arc4random

时间:2015-12-18 10:27:31

标签: ios swift boolean arc4random

在我的spritekit游戏中,我产生了两个敌人中的一个。产生的敌人是使用arc4random_uniform(2)随机生成的bool决定的。

我试图创建一种控制分配的方法。基本上,我不希望它连续生成3 1true' 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
    }

(可能有一个主要的大脑放屁)

1 个答案:

答案 0 :(得分:0)

Gameplaykit引入了一些新的随机数生成器,包括GKShuffledDistribution,根据Apple的说法,它完全符合您的要求:

  

GKShuffledDistribution对象产生的随机数在许多样本中均匀分布   分布式,但类似值的短序列不太可能

nextBool()应该在分布的特征中给出一个新的随机布尔值。

希望这有帮助,

西蒙