游戏中,许多情况都是随即发生的。还有一些图案程序,例如屏保,也是随即运动的。这就需要用随机函数。
随机函数很简单,只有一个:rand()
该函数返回 0~32767 之间的一个整数。(不需要记住 32767 这个数字,大概知道这个范围就行了),该函数在头文件 <stdlib.h> 中,使用前记得引用。
然而!!!!虽然产生的数字是随机的,但每次产生的数字序列都一样。 为什么????因为随机函数的产生原理简单来说,就是:前一个随机函数的值,决定下一个随机函数的值。根据这个原理我们可以知道:只要第一个随机函数的值确定了,那么后面数字序列就是确定的。
为了解决这个问题,我们需要用“随机种子”。也就是说如果我们想得到不同的数字序列,我们需要确定第一个随机函数的值,对于设置第一个随机函数的值,叫做设置“随机种子”。易知,随机种子设置一次即可。
设置随机种子的函数如下:
srand(种子);
通常,我们用当前时间来做随机种子:
srand( (unsigned)time( NULL ) );
因为使用 time 函数,所以记得引用 <time.h>。