第一种、arc4random() 比较精确不需要生成随即种子
使用方法 :
//通过arc4random() 获取0到x-1之间的整数的代码如下:
int value = arc4random() % x;
//获取1到x之间的整数的代码如下:
int value = (arc4random() % x) + 1;
第二种、CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1]
使用方法:
float random = CCRANDOM_0_1() * 5; //[0,5] CCRANDOM_0_1() 取值范围是[0,1]
第三种、random() 需要初始化时设置种子
官方说明:
long int random(void);
返回 0 -RAND_MAX 之间的一个 long 类型整数,该函数会产生一个非常大的随机值,最大为 16*((2**31)-1)。
random 函数使用非线性反馈随机数发生器生成默认大小为31个长整数表所返回的连续伪随机数。
void srandom(unsigned int seed);
设置种子值,一般与“当前时间 + 进程ID”作为种子,如果没用调用该函数,则通过random返回的默认种子值为1。
使用方法:
srandom((unsigned int)time(time_t *)NULL); //初始化时,设置下种子就好了。