【求助】VB程式



贊助商連結


cwj
2002-09-25, 07:22 PM
各位幫我看一下哦...以下是用VB寫成的...猜數字遊戲
他是讓電腦來猜數字...在七次以內猜出
我看不太懂他寫的...可不可以幫我解說一下....



Dim Ans() As String
Dim Brr() As String
Dim Com As String

Private Sub Command1_Click()

ReDim Brr(1 To UBound(Ans)) As String
For i = 1 To UBound(Ans)
If AB(Val(txtA.Text), Val(txtB.Text), Label5.Caption, Ans(i)) Then
N = N + 1
Brr(N) = Ans(i)
End If
Next i
List1.AddItem Label5.Caption & "   " & Val(txtA.Text) & "A" & Val(txtB.Text) & "B"
ReDim Ans(1 To UBound(Brr))
For i = 1 To UBound(Brr)
Ans(i) = Brr(i)
Next i
If Ans(1) = "" Then MsgBox "厚!你騙我!", , "有錯": Exit Sub
Label5.Caption = Ans(1)
End Sub

Private Function AB(A As Integer, B As Integer, S1 As String, S2 As String) As Boolean
Dim N As String
Dim Loc As Integer
Dim nA As Integer
Dim nB As Integer
For i = 1 To Len(S1)
N = Mid(S1, i, 1)
Loc = InStr(1, S2, N)
If Loc > 0 Then
If Loc = i Then
nA = nA + 1
Else
nB = nB + 1
End If
End If
Next i
AB = ((nA = A) And (nB = B))
End Function

Private Sub Form_Load()
ReDim Ans(1 To 720)
For i = 0 To 9
For j = 0 To 9
If (i <> j) Then
For k = 0 To 9
If (i <> k) And (j <> k) Then
c = c + 1
Ans(c) = CStr(i) & CStr(j) & CStr(k)
End If
Next k
End If
Next j
Next i
'--電腦數--
Label5.Caption = Ans(1)
End Sub
Private Function Rnds(Max As Integer, Min As Integer) As Integer
Randomize
Rnds = Int(Rnd * (Max - Min + 1)) + Min
End Function

贊助商連結


VicLin
2002-09-25, 07:26 PM
沒縮排=.=
看了傷眼

cwj
2002-09-25, 09:49 PM
最初由 VicLin 發表
沒縮排=.=
看了傷眼
不好意思...我縮排但是他沒顯示...對不起...傷了你的眼