精选问答
VB猜数游戏.谢谢谢谢谢由计算机随机产生一个不重复的四位数,用户输入四位不重复的数与计算机给出的数作对比,如果有一位与计算机给出的数的位置相同且数字相同,那么将会提示1A,有两位相同提示2A,……;如果有一位与计算机给出的数,数字相同而位置不同,将会提示1B,有两位数字相同而位置不同提示2B,…….例如:计算机的随机数字为:1234 .若你猜的数字为:5678 ,将提示:0A0B,说明你既未猜对数字,也未猜对位置.若你猜的数字为:1356 ,将提示:1A1B,说明你猜的数字中,有一位数字是猜对的,而且位置

2019-05-29

VB猜数游戏.谢谢谢谢谢
由计算机随机产生一个不重复的四位数,用户输入四位不重复的数与计算机给出的数作对比,如果有一位与计算机给出的数的位置相同且数字相同,那么将会提示1A,有两位相同提示2A,……;如果有一位与计算机给出的数,数字相同而位置不同,将会提示1B,有两位数字相同而位置不同提示2B,…….
例如:
计算机的随机数字为:1234 .
若你猜的数字为:5678 ,将提示:0A0B,说明你既未猜对数字,也未猜对位置.
若你猜的数字为:1356 ,将提示:1A1B,说明你猜的数字中,有一位数字是猜对的,而且位置也是对的,所以显示为1A;还有一个数字猜对了,但位置不对,所以显示为1B.
若你猜的数字为:1245 ,那么这时计算机会给你提示为:2A1B.
若你猜的数字为:1243 ,那么这时计算机会给你提示为:2A2B.
2.功能要求
(1)(4分)单击【开始】按钮计算机自动生成一个每位各不相同的四位数,开始一轮猜数游戏.单击【结束程序】按钮,可结束程序的运行.
(2)(3分)用户输入的四位数不能相同(程序保证),如图1-2所示是保证各位数字不同的一种方法.
(3)(3分)用户输入四位数后,单击【确定】按钮显示提示信息,若输入正确显示“祝贺你”消息框,如图1-3(A)所示.单击【取消】按钮可重新输入.
(4)(3分)单击【显示答案】按钮,将弹出消息框,如图1-3(B)所示,显示计算机生成的四位数,并可以继续猜数.
(5)(4分)可以查看已输入的数据和计算机对应的提示,如图1-4所示
优质解答
我做过
Dim shu
Private Sub Command1_Click()‘开始
m = "0123456789"
For i = 1 To 4
Randomize
temp = Mid(m, Int(Rnd * (Len(m) - 1) + Left(m, 1)) + 1, 1)
shu = shu & temp
m = Replace(m, temp, "")
Next
End Sub
Private Sub Command2_Click()’猜数
Dim a As Integer
Dim b As Integer
For j = 1 To 4
If Mid(Text1, j, 1) = Mid(shu, j, 1) Then a = a + 1
If InStr(1, shu, Mid(Text1, j, 1)) 0 Then b = b + 1
Next
Print Text1 & Space(1) & a & "A" & b - a & "B"
If a = 4 Then MsgBox "恭喜,数字为:" & shu
End Sub
我做过
Dim shu
Private Sub Command1_Click()‘开始
m = "0123456789"
For i = 1 To 4
Randomize
temp = Mid(m, Int(Rnd * (Len(m) - 1) + Left(m, 1)) + 1, 1)
shu = shu & temp
m = Replace(m, temp, "")
Next
End Sub
Private Sub Command2_Click()’猜数
Dim a As Integer
Dim b As Integer
For j = 1 To 4
If Mid(Text1, j, 1) = Mid(shu, j, 1) Then a = a + 1
If InStr(1, shu, Mid(Text1, j, 1)) 0 Then b = b + 1
Next
Print Text1 & Space(1) & a & "A" & b - a & "B"
If a = 4 Then MsgBox "恭喜,数字为:" & shu
End Sub
相关问答