vb猜数字游戏程序编写

编写的时候遇到了几个问题,希望可以帮我解决一下1.怎样用随机函数产生一个1~10之间的整数2.怎么才能使在输入三次数字后结束程序。以下是我的代码PrivateSubCom... 编写的时候遇到了几个问题,希望可以帮我解决一下
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.如果可以帮我修改一下代码就更好了~~
有分追加~~

谢谢~!
展开
 我来答
寂寞玩FC
推荐于2017-12-16 · 超过18用户采纳过TA的回答
知道答主
回答量:39
采纳率:100%
帮助的人:38.9万
展开全部
先说程序的错误
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式