vb里面猜数字游戏问题,新手寻解答??

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:22:40
我的程序如下:
Option Explicit
Dim a As Integer
Dim i As Integer

Private Sub Command1_Click()
a = Int(Rnd * 100)

Label2.Caption = "目前随机数字已产生,请在文本框中填入您想猜的数字,游戏规则:随机数字只出现在0-100之内,猜对加10分,猜错扣10分!"
End Sub

Private Sub Command2_Click()
Dim b As Integer

Dim s As Integer

i = i + 1

b = Val(Text1.Text)

If b >= 100 Then
MsgBox "您没搞错吧,这个是猜0-100的数字哦", vbOKOnly, "游戏规则"
End If

If b = a Then

s = s + 10

Label1.Caption = "恭喜您,您的数字猜对了" & "你现在有" & s & "分" & "这是您第" & i & "次猜数字"
Text1.Text = ""

End If
If s = 100 Then
MsgBox "你太强了,还想继续吗" & "你现在有" & s & "分"

End If

If b > a And b < 100 Then

Label1.Caption = "你猜大了,再试一次吧" & "你现在还有" & s & "分"

End

s不累加是因为你定义的是局部变量,所以每次你按Command2这个按钮的时候S都会被重新定义,并且默认初始值为0,解决的办法是把S定义为静态的情况变量,如下:
Dim s As Integer 换成 Static s As integer 就可以了。
答错了扣分就是在猜错了的判断语句后加上 s -= 10 其中10是你想扣的分,如果你用的VB是6.0的就换成 s = s - 10

将Dim s As Integer 放在
Dim a As Integer
Dim i As Integer
Dim s As Integer
错了扣分就在猜错的判读语句后
s=s-你想扣的分数