问题描述
|
我正在尝试创建策划风格的游戏,以增强我的iOS目标c技能。我正在尝试使用以下方法在0到9之间创建6个随机数。在不同的时间运行时,我得到不同的数字,但是每次运行中所有6个数字始终相同。
NSNumber *n1 = [[NSNumber alloc]initWithInt:(random() % 10)];
NSNumber *n2 = [[NSNumber alloc]initWithInt:(random() % 10)];
NSNumber *n3 = [[NSNumber alloc]initWithInt:(random() % 10)];
NSNumber *n4 = [[NSNumber alloc]initWithInt:(random() % 10)];
NSNumber *n5 = [[NSNumber alloc]initWithInt:(random() % 10)];
NSNumber *n6 = [[NSNumber alloc]initWithInt:(random() % 10)];
任何帮助将非常有用。
解决方法
您很可能忘记了为随机数生成器设定种子(即,在生成随机数之前添加以下行):
srandom(time(NULL));
无论如何,在iPhone上,您应该使用arc4random()函数-它提供了更好的结果,并且不需要种子:
NSNumber *n1 = [[NSNumber alloc]initWithInt:(arc4random() % 10)];