我从这个函数中得到了一些非常奇怪的数字。
-(int)generateRandomNumber:(int)min:(int)max {
int i = rand() % ((max + 1)- min) + min;
if(i < min || i > max) {
NSLog(@"WEIRD RANDOM CASE JUST HAPPENED");
return [self generateRandomNumber:min:max];
}
return i;
}
有时,很少变化,当min为1时,它会返回一个像1243512这样的数字,而最大值是9。
正如你所看到的,我试图阻止它,但在我尝试修复后,它刚刚发生在我身上。
我该如何解决这个问题?
由于
编辑我正在使用srandom(time(NULL));在当前的cocos2d场景init
答案 0 :(得分:2)
我不确定是什么导致了你的问题,但我强烈建议使用random()或arc4random()而不是rand()。它们产生了更好的随机数。