Dim playerCount As Integer = 0
Dim playerAce As Integer = 0
Dim dealerCount As Integer = 0
Dim dealerAce As Integer = 0
Dim ipcard, idcard As Integer
Private Sub delay(ByVal dt As Integer)
 Dim t As Integer
 t = My.Computer.Clock.TickCount
 Do
If My.Computer.Clock.TickCount >= t + dt Then Exit Do
 Loop
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, 
ByVal e As System.EventArgs) Handles Button1.Click
 Button1.Visible = False
 Label1.Text=””
 Label2.Text=””
 Label1.Refresh()
 Label2.Refresh()
 MyBase.CreateGraphics.Clear(Color.DarkGreen)
 dealerAce = 0
 playerAce = 0
 dealerCount = 0
 playerCount = 0
 cdtDrawExt(MyBase.CreateGraphics.GetHdc, 200, 200, 75, 100, 
(Deck(TopCard).face * 4 + Deck(TopCard).suit), 0, 0)
 playerCount += Deck(TopCard).count
 If Deck(TopCard).face = 0 Then playerCount += 10 : playerAce += 1
 TopCard += 1
 If TopCard >= 52 Then Shuffle() : MsgBox("NEW DECK!")
 Label2.Text = playerCount.ToString
 Label2.Refresh()
 delay(1000)
 cdtDrawExt(MyBase.CreateGraphics.GetHdc, 200, 10, 75, 100, 
(Deck(TopCard).face * 4 + Deck(TopCard).suit), 0, 0)
 dealerCount += Deck(TopCard).count
 If Deck(TopCard).face = 0 Then dealerCount += 10 : dealerAce += 1
 TopCard += 1
 If TopCard >= 52 Then Shuffle() : MsgBox("NEW DECK!")
 Label1.Text = dealerCount.ToString
 Label1.Refresh()
 delay(1000)
 cdtDrawExt(MyBase.CreateGraphics.GetHdc, 220, 200, 75, 100, 
(Deck(TopCard).face * 4 + Deck(TopCard).suit), 0, 0)
 playerCount += Deck(TopCard).count
 If Deck(TopCard).face = 0 And playerAce = 0 Then playerCount += 10 : playerAce += 1
 TopCard += 1
 If TopCard >= 52 Then Shuffle() : MsgBox("NEW DECK!")
 Label2.Text = playerCount.ToString
 Label2.Refresh()
 delay(1000)
 cdtDrawExt(MyBase.CreateGraphics.GetHdc, 220, 10, 75, 100, 
(Deck(TopCard).face * 4 + Deck(TopCard).suit), 0, 0)
 dealerCount += Deck(TopCard).count
 If Deck(TopCard).face = 0 And dealerAce = 0 Then dealerCount += 10 : dealerAce += 1
 TopCard += 1
 If TopCard >= 52 Then Shuffle() : MsgBox("NEW DECK!")
 Label1.Text = dealerCount.ToString
 Label1.Refresh()
 delay(1000)
 ipcard = 2
 idcard = 2
 Button2.Visible = True
 Button3.Visible = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, 
ByVal e As System.EventArgs) Handles Button2.Click
 cdtDrawExt(MyBase.CreateGraphics.GetHdc, 200 + 20 * ipcard, 
200, 75, 100, (Deck(TopCard).face * 4 + Deck(TopCard).suit), 0, 0)
 playerCount += Deck(TopCard).count
 If Deck(TopCard).face = 0 Then playerCount += 10 : playerAce += 1
 TopCard += 1
 If TopCard >= 52 Then Shuffle() : MsgBox("NEW DECK!")
 ipcard += 1
 Label2.Text = playerCount.ToString
 Label2.Refresh()
 If playerCount > 21 Then
If playerAce >= 1 Then
 playerCount -= 10
 playerAce -= 1
 Label2.Text = playerCount.ToString
 Label2.Refresh()
Else
 MsgBox("Player loss!")
 Button1.Visible = True
 Button2.Visible = False
 Button3.Visible = False
End If
 End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, 
ByVal e As System.EventArgs) Handles Button3.Click
 Button2.Visible = False
 Button3.Visible = False
 dealerPlay()
End Sub
Private Sub dealerPlay()
 Do
If dealerCount < 17 Then
 cdtDrawExt(MyBase.CreateGraphics.GetHdc, 200 + 20 * idcard, 
10, 75, 100, (Deck(TopCard).face * 4 + Deck(TopCard).suit), 0, 0)
 dealerCount += Deck(TopCard).count
If dealerCount > 21 And dealerAce = 1 Then dealerCount -= 10 : dealerAce -= 1
If Deck(TopCard).face = 0 And dealerCount <= 11 Then dealerCount += 10
TopCard += 1
If TopCard >= 52 Then Shuffle() : MsgBox("NEW DECK!")
idcard += 1
 Else
Exit Do
 End If
Loop
Label1.Text = dealerCount.ToString
Label1.Refresh()
If dealerCount <= 21 Then
 If playerCount > dealerCount Then
MsgBox("Player win!")
 Else
MsgBox("Dealer win!")
 End If
Else
 MsgBox("Player win!")
End If
Button1.Visible = True
Button2.Visible = False
Button3.Visible = False
End Sub