实现真正随机数

来源:互联网 发布:青年男士手表品牌知乎 编辑:程序博客网 时间:2024/05/22 05: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;}


0 0
原创粉丝点击