主题:关于rand()函数
tw35759
[专家分:30] 发布于 2005-02-02 22:52:00
写了个俄罗斯方块的小游戏,用了rand()来产生新的方块类型,
不过每次开始游戏,方块出现的顺序都是一样的,也就是说:第一个是长条第二个是
四方形的,第三个是....,每局都是这样,这是怎么回事?望解释一下个中原因
回复列表 (共4个回复)
沙发
youngherohanbo [专家分:430] 发布于 2005-02-03 14:39:00
因为rand()函数用的是伪随机!
其实计算机的函数都是伪随机!
板凳
man30 [专家分:180] 发布于 2005-02-12 00:33:00
不知你是否有失使用SRND()?你可查下手册:
The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the srand function to seed the pseudorandom-number generator before calling rand.
3 楼
FancyMouse [专家分:13680] 发布于 2005-02-16 09:42:00
……如果你用的是VB的话,在每个Rnd()前面加一句Randomize即可
4 楼
gushu [专家分:500] 发布于 2005-02-22 13:32:00
首先要用srand()函数种下随机种子
再使用rand()
一般srand()的参数用时间
可以得到随机数
具体用法如下
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i;
srand(time(0)); /*种下随机种子*/
for(i=0;i<10;i++)
{
printf("%-8d",rand());/*打印随机数*/
}
getch();
return 0;
}
这样每次的随机数都不一样了
我来回复