前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB随机数专题案例

VB随机数专题案例

作者头像
刘金玉编程
发布2019-10-14 00:48:34
6840
发布2019-10-14 00:48:34
举报
文章被收录于专栏:编程创造城市编程创造城市

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

需要两个窗体:

form1窗体界面

form2窗体界面

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

form1窗体的代码:

代码语言:javascript
复制

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函数表示向下取整函数。

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

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

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

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

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

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

form1效果图如下:

form2窗体代码:

代码语言:javascript
复制
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函数的作用:就是将字符串类型转为数值类型。

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

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

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

form2效果图如下:

猜测效果图:

正在输入猜测数值

猜大的情况

猜小的情况

猜对的情况

补充思考:

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

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

项目结构如下图:

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

form3窗体源代码:

代码语言:javascript
复制
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
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档