Visual Basic 6游戏“21”在必要时不显示MsgBox

时间:2016-12-21 15:52:07

标签: vb6

尝试在visual basic 6中制作游戏“21”,我已经完成了所有工作,但是当它的Bust或者Blackjack时,MsgBox没有显示。有什么想法吗?

Private Sub cmdCheckScore_Click()
lblPC1.Visible = True
lblPC2.Visible = True
lblPC3.Visible = True



End Sub

Private Sub cmdDrawCard_Click()



If lblDraw1.Caption = "" Then 'Draws 3 random numbers with 3 button clicks
intDraw1 = Int(Rnd * 10 + 1)
lblDraw1.Caption = intDraw1
ElseIf lblDraw2.Caption = "" Then
intDraw2 = Int(Rnd * 10 + 1)
lblDraw2.Caption = intDraw2
ElseIf lblDraw3.Caption = "" Then
intDraw3 = Int(Rnd * 10 + 1)
lblDraw3.Caption = intDraw3

End If

intPlayerScore = intPlayer1 + intPlayer2 + intDraw1 + intDraw2 + intDraw3
intComputerScore = intPC1 + intPC2 + intPC3


If intPlayerScore > 21 Then
MsgBox "Bust!"
ElseIf intPlayerScore = 21 Then
MsgBox "Blackjack!"
End If



End Sub
Private Sub Form_Load()
Randomize
Dim intPlayer1 As Integer
Dim intPlayer2 As Integer
Dim intPlayer3 As Integer
Dim intPC1 As Integer
Dim intPC2 As Integer
Dim intPC3 As Integer
Dim intDraw1 As Integer
Dim intDraw2 As Integer
Dim intDraw3 As Integer
Dim PlayerScore As Integer
Dim ComputerScore As Integer

intDraw1 = 0
intDraw2 = 0
intDraw3 = 0

intPlayer1 = Int(Rnd * 10 + 1)
intPlayer2 = Int(Rnd * 10 + 1)
lblPlayer1.Caption = intPlayer1
lblPlayer2.Caption = intPlayer2

intPC1 = Int(Rnd * 10 + 1)
intPC2 = Int(Rnd * 10 + 1)
intPC3 = Int(Rnd * 10 + 1)

lblPC1.Caption = intPC1
lblPC2.Caption = intPC2
lblPC3.Caption = intPC3
End Sub 

我一直在努力解决这个问题2个小时,但仍然没有解决方案。

1 个答案:

答案 0 :(得分:0)

我相信你的变量是在范围之外创建的,因此当点击代码运行时,它们都是变体。

将您的声明从Form_Load移到cmdCheckScore

以上

Dim intPlayer1 As Integer 'at the top of your FORM Dim intPlayer2 As Integer Dim intPlayer3 As Integer Dim intPC1 As Integer Dim intPC2 As Integer Dim intPC3 As Integer Dim intDraw1 As Integer Dim intDraw2 As Integer Dim intDraw3 As Integer Dim PlayerScore As Integer Dim ComputerScore As Integer 'at the top of your FORM Private Sub cmdCheckScore_Click()

接下来,单击左侧并在此行上设置断点以验证值是否到达那里! intPlayerScore = intPlayer1 + intPlayer2 + intDraw1 + intDraw2 + intDraw3