下記のようなコードだと、常に同じパターンの
乱数が生成されてしまいます。
これを本当の乱数にするにはどうすれば良い
でしょうか?
Objective-C以外の言語でいうseedの初期化
もやってるつもりですが、常に同じパターンの
乱数が生成されてしまいます。
srand(sec); // 現在の秒
for ( int cnt = 0; cnt < 100; cnt++ ) {
int rnd = round( random() % 100 );
NSLog( [NSString stringWithFormat:@"%d", rnd] );
}
random()というのがsrand()と対応していないから同じ乱数が発生し続けているのではないでしょうか。
以下のURLとか英語ですが、ソースは参考になるかと思います。
http://stackoverflow.com/questions/160890/generating-random-numbers-in-objective-c
初期化がいらないarc4random()
や、
srandom(time(NULL));
random();
とかでよさそうですね。
tdoiさんの
srandom(time(NULL));
random();
で、解決しました。
せっかくなのでコメント欄ではなく
回答に付けなおしてくださいm(__)m
少しですが、ポイント付メッセージを送信させていただきました。