确保Swift中随机生成的数字不同

时间:2016-07-17 03:19:14

标签: ios swift repeat arc4random

我从1-52生成数字(用于处理随机扑克牌),但我想确保它们都不相同。总共最多可以发出17张卡,它们必须不同。这不是重复,因为没有问题回答如何检查更多2个不同值的随机数重复。

为方便起见,这是代码的缩短版本:

    let randomPlayerCard1 = Int(arc4random() % 52) // Generates random numbers
    let randomPlayerCard2 = Int(arc4random() % 52)
    let randomCentreCard1 = Int(arc4random() % 52)
    let randomCentreCard2 = Int(arc4random() % 52)
    let randomCentreCard3 = Int(arc4random() % 52)
    let randomCentreCard4 = Int(arc4random() % 52)
    let randomCentreCard5 = Int(arc4random() % 52)

    while randomPlayerCard1 == randomPlayerCard2  { /* I don't want to create "while" 
statement for every combination of 2 of the eventual 17 random values being equal*/

    }
    playerCard1.image = mapping[randomPlayerCard1]
    playerCard2.image = mapping[randomPlayerCard2]

我也尝试过这样的事情:

while randomPlayerCard1 == randomPlayerCard2 == randomCentreCard5 == randomCentreCard3

但你不能像我预期的那样那样做。

感谢您的帮助!

0 个答案:

没有答案