试图在iPhone上生成随机数,得到相同的数字

时间:2014-06-08 22:44:48

标签: ios

我正在尝试制作纸牌游戏。我正在使用以下代码绘制随机卡

iCard = random()%55;

但是icard总是从28开始。 似乎它以相同的顺序返回数字。

每次首次调用函数时,有没有办法获得不同的随机数????

3 个答案:

答案 0 :(得分:3)

random()rand()使用种子,它始终是相同的种子序列。

使用arc4random()它不使用种子并且是100%随机

答案 1 :(得分:0)

尝试使用此代码:int random = min + arc4random() % (max - min + 1);

答案 2 :(得分:0)

-(IMCard*) drawRandomCard
{
    IMCard *randomCard = nil;

    if ([self.cards count]) {
        unsigned index = arc4random() % [self.cards count];
        randomCard = self.cards[index];
        [self.cards removeObjectAtIndex:index];
    }


    return randomCard;
 }