vb猜数字游戏程序编写

2025-03-07 16:37:28
推荐回答(1个)
回答1:

先说程序的错误
1.把Int((10 * Rnd) + 1)放到CMD1里
也就是每点一次产生的数都不一样
怎么猜啊

2.没加计数器,不能判断出猜了几次

所以修改后的代码:
加一个按钮CMD2,用来重新产生随机数,进行新一轮猜数

Dim x As Integer, y As Integer, z As Integer
Dim cishu As Integer '保存次数的变量
Private Sub Command1_Click()
’如果猜3次了就告诉数字是多少,然后退出,等待点击CMD2重新进行
If cishu = 3 Then Msgbox "已经猜3次了,这个数是" & x: Exit Sub
y = Val(Text1.Text)

If Text1.Text = "" Or Not IsNumeric(Text1.Text) Then
MsgBox "输入有误!请重新输入数字", 48
Text1.Text = ""
Text1.SetFocus
Exit Sub

End If

cishu = cishu + 1
Select Case x - y
Case Is < 0
z = MsgBox("你猜数大了,请重猜。注意:你只有三次机会", 48 + 1)
Text1.Text = ""
Text1.SetFocus
Case Is > 0
z = MsgBox("你猜数小了,请重猜。注意:你只有三次机会", 48 + 1)
Text1.Text = ""
Text1.SetFocus
Case Else
z = MsgBox("恭喜你猜中了!", 1)
End Select

End Sub

Private Sub Command2_Click()
‘点CMD2时重新开始,所以重置次数为0,重新产生一个随机数
cishu = 0
Randomize Timer
x = Int((Rnd * 10) + 1)
End Sub

Private Sub Form_Load()
’程序开始时自动重置一次,可以省去,如果省去的话开始前需要点CMD2开始游戏
cishu = 0
Randomize Timer
x = Int((Rnd * 10) + 1)
End Sub