vb 猜数游戏 计算机随机生成一个1~100之间的整数(不显示),游戏者输入一个1~100之间的整数,计算机根据

题目:计算机随机生成一个1~100之间的整数(不显示),游戏者输入一个1~100之间的整数,计算机根据猜测结果给出太大、太小或猜中的提示。只允许用户猜5次,用for循环控制猜数次数。
请大神帮我改改看!

Dim x As Integer, y As Integer

Private Sub Command1_Click()
Randomize
x = Int(Rnd * 100) + 1
Text1.Visible = False
Text1.Text = x
End Sub

Private Sub Command2_Click()
y = Val(Text2.Text)
For i = 1 To 5
If x = y Then
Label3.Caption = "恭喜您猜对了!"
Text1.Visible = True
ElseIf x > y Then
Label3.Caption = "太小"
ElseIf x < y Then
Label3.Caption = "太大"
End If
If i = 5 Then
Exit Sub
End If
Next
End Sub

1、我仔细看了下,发现这段语句没什么用:
If i = 5 Then
Exit Sub
End If
因为i=5时,for循环也结束了,所以有没有这段循环都会结束。所以这段代码可以删除了,当然不删也不影响,考虑到代码的质量的话,删去吧。
2、我估计你是想在这里加入一段代码,让在猜对数字的情况下,结束循环吧?所以我这样改:
If x = y Then
Label3.Caption = "恭喜您猜对了!"
Text1.Visible = True
Exit Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-11
Dim x As Integer, y As Integer

Private Sub Command1_Click()
Randomize
x = Int(Rnd * 100) + 1
Text1.Visible = False
Text1.Text = x
End Sub

Private Sub Command2_Click()
Static i
i = i + 1
If i > 5 Then
MsgBox ("对不起,只能猜5次!")
Exit Sub
End If
y = Val(Text2.Text)
If x = y Then
Label3.Caption = "恭喜您猜对了!"
Text1.Visible = True
ElseIf x > y Then
Label3.Caption = "太小"
ElseIf x < y Then
Label3.Caption = "太大"
End If
End Sub追问

需要用for来控制循环次数

本回答被网友采纳

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猜数游戏
Private Sub Form_Click()Randomize vNum = Int(Rnd * MaxNum) + 1 useNum = InputBox("请输入一个" & MaxNum & "以内的数", "猜一猜")If IsNumeric(useNum) Then If useNum = vNum Then MsgBox "恭喜!!猜对啦!!", , "恭喜"End If If useNum > vNum Then MsgBox "Oh!你猜的...

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

VB猜数字游戏
在使用rnd函数之前,要先用randomize语句初始化,rnd函数就会以系统时间作为种子,这样每次生成的随机序列就不同了。还有啊,rnd返回大于等于0小于1的单精度数值,而int只是取整,不会四舍五入,所以要用int(10*rnd)才能得到0到9的整数,9*rnd只能得到0到8的整数。赋值的时候你要注意数据类型,label是...

请教VB大神 猜数游戏
'两个文字列表框,一个文本框,两个按钮Dim k As BooleanPrivate Sub Command1_Click() '产生一个随机数 Text1 = "" Label1 = "" Label2 = "请在框中输入数字,按回车键猜数" k = False Do While k = False Label1 = Int(100 * Rnd()) '产生的随机数到L1 DoEvents...

求VB小游戏,简单一点,越简单越好
MsgBox ("计算机产生了一个1~100之间的整数," & Chr(10) & "请您猜出这个数是多少。" & Chr(10) & "如果输入-1,则停止猜数,并输出要猜的数。")number = Int(100 * Rnd) + 1End SubPrivate Sub Label1_Click()End Sub猜笑脸Private Sub Command1_Click(Index As Integer)Dim a As Integer, ...

vb编的猜数字小游戏……不管输入什么数字都显示“数字太大”……求...
a = Int(100 * Rnd + 1)Print "正确答案是:" & a End Sub Private Sub Command1_Click() Dim b As Integer b = Val(InputBox("请输入一个数字(1-100)"))If b > 100 Or b < 1 Then MsgBox ("输入错误!")ElseIf b = a Then MsgBox ("过关!")ElseIf b > a Then MsgB...

请大家 帮我翻一下 下面的vb代码 谢谢了 !
这么简单,还用翻译!!Randomize 初始化随机数,也就是说每次都产生不同的值。如果没有这个,程序启动产生的随机数是不变化的。 0~1之间。StrN = Int(Rnd * 101) + 100 这个你自己算啦~~~

vb 让系统生成一个0~1000的随机数,用户输入的数字和随机数进行比较,告 ...
Private Sub Command1_Click()If Text1.Text = a Then Label1.Caption = "真聪明,你猜对了!"If Text1.Text > a Then Label1.Caption = "你猜大了!"If Text1.Text < a Then Label1.Caption = "你猜小了!"End Sub Private Sub Text1_Change()Label1.Caption = ""End Sub ...

我用VB6.0企业版编猜数字游戏(100以内),不过试运行中,猜对数字后,跳出...
Label3.Caption = "猜对了,这个数是:" & RanNum & "。" & "一共猜了" & GusNum & "次!"一开始我也找了好半天,后来才发现它说要求对象,你写的是Labe13.Caption而不是Label3.Caption前者中的不是字母L而是数字。只需将1改成L即可。有时候这两个挺不好分的。呵呵,希望此回答可以是...

相似回答