首页 > Cocos > 实现真正随机数
2015
07-17

实现真正随机数

cocos2d-x里使用 CCRANDOM_0_1 可以产生随机的0和1,但是其实如果仅仅使用这个宏是不可以达到真正随机的效果,还需要为随机数设置“种子”
经过修改后,使用以下函数可以产生[s,e]之间的随机数

int Common::random(int s,int e){
    cc_timeval psv;
    CCTime::gettimeofdayCocos2d( &psv, NULL );    // 获取本地时间
    //根据时间产生随机种子
    unsigned int tsrans = psv.tv_sec * 1000 + psv.tv_usec / 1000;
    srand(tsrans);    //设定随机数种子
	float i = CCRANDOM_0_1()*(e-s+1)+s;
	return (int)i;
}
最后编辑:
作者:freeman
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据