实现真正随机数

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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值