我使用CCRandom_0_1()生成随机数,如“learn-iphone-and-ipad-with-cocos2d”一书中所述 但似乎该函数生成相同的数字。
int ran1 = ((int) (CCRANDOM_0_1() * 5)) + 1;
int ran2 = ran1;
while (ran2 == ran1) {
ran2 = ((int) (CCRANDOM_0_1() * 5)) + 1;
}
这里是我想生成1到5的2个不同整数的代码,但控制台总是
2011-05-28 14:57:56.699 LetsSpotIt[2443:707] r1: 4.200939 r1: 1.971915
无论如何我可以根据时间播种它(迷你秒),还是有其他功能可以使用?
请给我示例代码。我之前没有学过c或c ++。谢谢。
答案 0 :(得分:6)
如果每次使用代码时都需要不同的值,则必须为随机生成器设定种子。最流行的方法是在使用CCRANDOM之前调用srandom(time(NULL))
答案 1 :(得分:4)
您是否尝试过arc4random()函数?另请查看here