欢迎光临Software MyZone,有问题可留言或到站点论坛发帖,争取第一时间帮忙解决 || 站点论坛:火龙论坛 || 淘宝小店:应小心的易淘屋 【欢迎大家提建设性意见】

C++常见随机

欢迎热爱编程的朋友们参与到cocos2d-x编程中,为了给大家提供良好的交流环境,网站以开启QQ群
Software MyZone:66202765(群号,欢迎加入,若满,请加1群)
Software MyZone 1群(2dx):286504621
【加群请写:Software MyZone或者是firedragonpzy】
淘宝店:【应小心的易淘屋】初次开店,大家多多支持……
群论坛:火龙论坛正试运营阶段,欢迎大家多提些建设性意见……

摘自:http://blog.csdn.net/sharing_li/article/details/43405569

我的digitalocean推广链接:https://www.digitalocean.com/?refcode=65dfdb158f1a,Everyone you refer gets $10 in credit,从此链接注册,你将获得10美元。

        //第一种
	//随机效果一般,每次进入游戏的时候,值都是一样的
	m_nRandData = CCRANDOM_0_1() * 200;
	log("1st------------->%d",m_nRandData);

	//第二种
	//随机效果不好,虽然每次进入游戏,值都不一样,但是生成的随机数是递增的,而且相邻两个数之间的变化不大
	srand(unsigned(time(NULL)));
	m_nRandData = rand() % 100;
	log("2rd------------->%d",m_nRandData);

	//第三种
	//随机效果较好,每次进入游戏的值都不一样,生成的随机数无规律,相邻的两个数变化较大
	timeval tv;
	cocos2d::gettimeofday(&tv,NULL);
	unsigned long int seed = tv.tv_sec * 1000 + tv.tv_usec / 1000;
	srand(seed);
	m_nRandData = rand() % 100;
	log("3nd------------->%d",m_nRandData);
 
	//第四种
	//C++11的特性,要包含头文件<random>,随机效果不错。
	std::uniform_real_distribution<double> u(0,100);
	std::default_random_engine e(rand());
	for (int i = 0; i < 5; i++)
	{
	    log("4th------------->%d",u(e));
	}