试图在iphone上产生随机数字,得到相同的数字
我试图做一个纸牌游戏。 我正在使用下面的代码来绘制一个随机卡
iCard = random()%55;
但是icard总是从28开始。似乎它以相同的顺序返回数字。
有没有办法得到一个不同的随机数每次函数是第一次调用????
random()
和rand()
使用一个种子,它总是相同的种子序列。
使用arc4random()
它不使用种子,是100%随机的
试试这个代码: int random = min + arc4random() % (max - min + 1);
-(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; }