前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

VB6世界中的随机密码:揭秘Rnd函数如何生成神秘数字

qiguaw 2024-11-11 13:09:18 资源文章 14 ℃ 0 评论

许多程序都会用到随机数,比如随机出题程序,游戏中打开宝箱等等,那么这个随机数怎么产生的呢?我们今天来讲一讲VB中怎样产生随机数。


Rnd()函数

Rnd()函数是VB根据系统时间生成的随机数,它的语法是

Rnd [(number)]

可选的 number 参数是 Single 或任何有效的数值表达式。

返回值

如果 number 的值是 Rnd 生成

小于 0 每次都使用 number 作为随机数种子得到的相同结果。

大于 0 序列中的下一个随机数。

等于 0 最近生成的数。

省略 序列中的下一个随机数

说明

Rnd 函数返回小于 1 但大于或等于 0 的值。

number 的值决定了 Rnd 生成随机数的方式。



我们用来实际操作一下,看看生成随机数效果:





我们发现,每次程序运行生成的随机数都一样,所以我们在窗体启动的时候加上Randomize来初始化随机数种子。当然得看自己的需求,比较合理的是每次随机前初始化随机数种子.





这回每次生成的随机数就不一样了,但是呢,生成的是小于1的小数,我们如何得到整数呢?把结果乘以10然后取整就可以了吧?





果然可以了,我们可以看到,最小的值是0。如果我们不想让随机数出现0,那么就可以给结果+1 也就是说最小的值就是1:





但是同时最大数也相应的大了,最大为10,如果我们只想生成1~9怎么办,可以这样:




为了方便,我们可以把这个功能写成一个函数:





那么在游戏中,打开宝箱是怎样实现的?


我们可以定义一个数值,如果随机数正好是这个数值,宝箱会出现宝藏:




这个随机数范围是1~10,所以宝箱中奖几率就是十分之一,如果随机数范围改成1~100,那么中奖几率就是百分之一。

当然这只是一个简单演示,实际过程中可以加入一些复杂的算法,让游戏更加丰富多彩.

运行效果:


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表