vb猜数字游戏程序编写

编写的时候遇到了几个问题,希望可以帮我解决一下
1.怎样用随机函数产生一个1~10之间的整数
2.怎么才能使在输入三次数字后结束程序。

以下是我的代码
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
Dim myvalue
myvalue = Int((10 * Rnd) + 1)
x = Val(myvalue)
y = Val(Text1.Text)
If Text1.Text = "" Or Not IsNumeric(Text1.Text) Then
MsgBox "输入有误!请重新输入数字", 48
Text1.Text = ""
Text1.SetFocus
Exit Sub
End If
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
p.s.如果可以帮我修改一下代码就更好了~~
有分追加~~

谢谢~!

第1个回答  推荐于2017-12-16
先说程序的错误
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本回答被提问者采纳

VB猜字游戏程序代码
if win=1 then wscript.echo "你猜对了。" else wscript.echo "你没猜对。"\/\/\/ 上面是我写过的一个小游戏。把斜线以上的部分复制到一个文档中,后缀名改为*.vbs,直接双击试试看效果:)参考资料:我的经历

求VB的猜数字代码,(直接复制粘贴就能用的)
Public Class Form1 Dim b As Integer Dim js As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Me.Button1.Text = "开始" Then Dim a As Integer = MsgBox("游戏开始你准备好了吗", MsgBoxStyle.YesNo, "提示...

VB中猜数字游戏请高手帮忙啊。
= CInt(InputBox("请输入猜测数字!"))If a = s Then MsgBox ("恭喜你猜对了")End End If If a > s Then MsgBox ("对不起,你猜小了!")End If If a < s Then MsgBox ("对不起,你猜大了!")End If Next i End 这就是主要代码了,至于你说要两个窗体,个人感觉有点多余 ...

求助!关于用vb写猜数字游戏的代码!网上难找到符合要求的!
Private Sub Command1_Click()Dim n As Integer, i As Integer, a As IntegerRandomizen = Int(Rnd * 100) + 1For i = 1 To 10 a = Val(InputBox("请猜:")) If a = n Then MsgBox "猜中了,恭喜你!" Exit Sub ElseIf a < n Then MsgBox "太小了,继续...

VB猜数字游戏
这样每次生成的随机序列就不同了。还有啊,rnd返回大于等于0小于1的单精度数值,而int只是取整,不会四舍五入,所以要用int(10*rnd)才能得到0到9的整数,9*rnd只能得到0到8的整数。赋值的时候你要注意数据类型,label是字符串的,a1是整数,因此&在那里是与运算符,而不是字符串连接符。

用VB语言编写一个猜数字的游戏
首先说一说猜数字这个游戏的玩法,一开始计算机会随机产生一个不重复的四位数,你要输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同数字相同,那么将会是1A,如果数字相同而位置相不同,将会显示1B。例如:计算机的随机数字为:1234 ,我猜的数字为:1356 ,那么这时计算机...

VB猜数字游戏!
Private Sub Command1_Click()c = Int(100 * Rnd + 1)End Sub Private Sub CommandOK_Click()Dim b As Long b = Val(InputBox("请输入一个数字(1-100)", "猜数字"))Select Case b Case Is > 100 Or b < 1:MsgBox "请输入正确的值!"Exit Sub Case c:txt.Text = b & " 恭喜...

VB猜数字游戏程序源代码和思路只可以猜三次
= Val(InputBox(""))If n = x Then MsgBox "猜对了"Exit Do Else If n > x Then MsgBox "猜大了" & "已猜" & y & "次" & "还有" & 3 - y & "机会"Else MsgBox "猜小了" & "已猜" & y & "次" & "还有" & 3 - y & "机会"End If End If Loop End Sub ...

帮我用vb编写一个猜数字的小游戏,数字1到100,程序语言3到5行即可...
画个text1和command1 Private Sub Command1_Click()Dim a As Long a = Rnd * 100 MsgBox IIf(a = Val(Text1), "你猜对了,数字是:" & a, "你猜错了,正确答案是:" & a)End Sub

猜数字游戏 请在下面的文本框中输入一个20~60之间的整数,然后单击按钮...
求vb程序 1.程序设计界面。如下图所示。2.程序开始运行的界面:程序开始运行时,“猜数字”按钮和文本框都被禁用(即不能使用,可通过代码设置对象的enabled属性为false来实现),只有“开始猜... 1.程序设计界面。如下图所示。2.程序开始运行的界面:程序开始运行时,“猜数字”按钮和文本框都被禁用(即不能使用,可...

相似回答