2011-06-12 33 views
3

我想创建一个主脑风格的游戏来建立我的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)]; 

任何帮助将是非常有用的。

+1

[1](http://stackoverflow.com/questions/1436217/generating-random-values-in-iphone)[2](HTTP的可能重复://计算器。 com/questions/1449754/iphone-random-function-giving-me-the-same-random-number-everytime) – albertamg 2011-06-12 12:06:29

回答

6

最可能是你忘了种子随机数发生器(即产生前添加以下行随机数):

srandom(time(NULL)); 

无论如何,在iPhone上你应该使用arc4random()函数 - 它提供了更好的结果和不需要播种:

NSNumber *n1 = [[NSNumber alloc]initWithInt:(arc4random() % 10)]; 
+1

嗨,谢谢。原来,这是我作为一个木偶。将数字从数组中取出以提醒,我忘记更改索引。 – user794720 2011-06-12 12:13:54