我正在尝试创建一个策划风格的游戏,以建立我的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)];
任何帮助都非常有用。
答案 0 :(得分:6)
您很可能忘记为随机生成器播种(即在生成随机数之前添加以下行):
srandom(time(NULL));
无论如何,在iPhone上你应该使用arc4random()函数 - 它提供了更好的结果,不需要播种:
NSNumber *n1 = [[NSNumber alloc]initWithInt:(arc4random() % 10)];