Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Requiring many random numbers

I'm trying to create a mastermind style game to build up my iOS objective c skills. I'm trying to create 6 random numbers between 0 and 9 using the following. I get different numbers when run at different times but all 6 numbers are always the same on each run.

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)];

Any help would be very useful.

like image 819
user794720 Avatar asked Dec 10 '25 20:12

user794720


1 Answers

Most likely you forgot to seed the random generator(i.e. add the following line before generating random numbers):

srandom(time(NULL));

Anyway, on iPhone you should use arc4random() function - it provides much better results and does not require seeding:

NSNumber *n1 = [[NSNumber alloc]initWithInt:(arc4random() % 10)];
like image 55
Vladimir Avatar answered Dec 12 '25 10:12

Vladimir



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!