VB随机数专题案例

简介: VB随机数专题案例

案例:实现一个随机数值的猜测。

需要两个窗体:

302fbe1a04f4eb3c897f7395584964de.png

form1窗体界面

f53fb213c280c60a65a08ba4fb1d10b6.png

form2窗体界面

在form1中的按钮文字,我们通过代码来实现,同时输出几个随机数做练习。

form1窗体的代码:

Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Form_Load()
Show
Print Int(5.8)
Print Int(-1.2)
Randomize
Print Int(Rnd * 101)
'修改按钮文字为“开始游戏”
Command1.Caption = "开始游戏"
End Sub

其中,Form2.Show表示显示form2窗体。

这里要注意的是,在打印print输出前,在form_load事件中要加上关键字Show

int函数表示向下取整函数。

PrintInt(5.8)打印输出的结果是5

PrintInt(-1.2)打印输出结果为-2

注意负数的向下取整会与整数的思维比较不同,但总体原则都是取比原来数值小的最接近的那个整数。

Randomize是随机数种子,可以使得增大随机数不同的概率。

PrintInt(Rnd * 101)表示输出[0,101)之间的随机整数。

Command1.Caption = "开始游戏"表示给form1中的那个按钮赋值一个文字。

f217e112d3d38bea240bde43fb854236.png

form1效果图

form2窗体代码:

Dim a As Integer
Private Sub Command1_Click()
Dim s As String
s = InputBox("请输入猜测的数值:", "猜测消息")
Print s
If Val(s) > a Then
    MsgBox "猜大了", , "消息"
ElseIf Val(s) < a Then
    MsgBox "猜小了", , "消息"
Else
    msgxo "恭喜你,才对了!可以买彩票啦!"
End If
End Sub
Private Sub Form_Load()
Form2.Caption = "猜数字游戏--作者:辣椒油"
'给变量a赋值,赋值为一个随机数
Randomize
'系统随机生成一个1~100之间的随机整数
a = 1 + Int(Rnd * 100)
Show
Print "系统已经随机生成一个1~100之间的随机整数"
Print a
End Sub

注意:

Dim a As Integer是在form2窗体的“通用”中的,表示form2窗体的全局变量。

Dim s As String表示声明一个自定义的变量s为字符串类型。

InputBox("请输入猜测的数值:", "猜测消息")输出的结果是一个字符串类型,因此,我们将输出结果返回到s中

Val(s) > a 在if语句中进行比较的时候,我们要把比较的值都转为数值类型才能正常比较。

val函数的作用:就是将字符串类型转为数值类型。

我们通过以下语句来进行判断是否猜中数值:

If Val(s) > a Then
    MsgBox "猜大了", , "消息"
ElseIf Val(s) < a Then
    MsgBox "猜小了", , "消息"
Else
    msgxo "恭喜你,才对了!可以买彩票啦!"
End If

这里的if...elseif...else ....end if  这个语句中的if条件只会进入其中某一条。

效果图

226cfe0e93b85b3e86ebbd0f998dbd6a.png

form2效果图

猜测效果图:

517d5afce63790b4e8221ed7de3116e4.png

正在输入猜测数值

afdb3c7a4430798f8fa94b2c7bd2c01a.png

猜大的情况

45813037b13a5a94b54b43d954911ec6.png

猜小的情况

70fb4b5038b15ad2af37191a406e1cf2.png

猜对的情况

补充思考:

添加一个form3窗体,作用是“倒计时游戏开始时间”。

我们将form1窗体的开始游戏按钮,点击后,跳转到form3窗体,然后,form3窗体默认从10开始倒计时,每一秒减去一,直到为0跳转到游戏窗体form2窗体

项目结构如下图:

ce17d2835db8c0508d1561ebd894c702.png

form3窗体的界面设计如下图:

89464bdf06bcea2f925c0945d6e5f5b1.png

form3窗体源代码:

Private Sub Form_Load()
Me.Caption = "游戏倒计时..."
Label1.Caption = 10
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Val(Label1.Caption) - 1
If Label1.Caption = "5" Then
Form2.Show
Timer1.Enabled = False
End If
End Sub
相关文章
|
7月前
|
C语言 C++
【C语言】rand()函数(如何生成指定范围随机数)
【C语言】rand()函数(如何生成指定范围随机数)
342 0
|
7月前
Vb之分享错误案例
Vb之分享错误案例
45 0
|
6月前
|
算法 Unix Linux
C语言随机数的产生(rand、srand、time函数细节讲解)
C语言随机数的产生(rand、srand、time函数细节讲解)
138 0
|
7月前
如何用rand产生随机数
如何用rand产生随机数
72 2
|
安全 测试技术 数据安全/隐私保护
如何用Python生成4位数的随机数字
如何用Python生成4位数的随机数字
200 0
|
C语言
C语言生成随机数(rand函数)
C语言生成随机数(rand函数)
751 0
|
编解码 安全 算法
随机数探秘|如果python不用random怎样生成随机数?
随机数探秘|如果python不用random怎样生成随机数?
541 0
|
算法
零基础VB教程022期:数值分解算法技巧
零基础VB教程022期:数值分解算法技巧
128 0
|
存储 算法
零基础VB教程035期:递归算法
零基础VB教程035期:递归算法
172 0
零基础VB教程020期:for循环的经典运用
零基础VB教程020期:for循环的经典运用
105 0