Option Explicit
Dim mintCounter As Integer
Private Sub cmdEnd_Click()
'Clears all the image boxes and labels for a new game
Dim X As Integer
For X = 1 To 100
Image1(X).Picture = Image4.Picture
Next X
Image1(45).Picture = Image2.Picture
Image1(56).Picture = Image2.Picture
Image1(46).Picture = Image3.Picture
Image1(55).Picture = Image3.Picture
lblPlayer1.Caption = ""
lblPlayer2.Caption = ""
lblPlayer1.Font.Bold = False
lblPlayer2.Font.Bold = False
cmdNewGame.SetFocus
mintCounter = 0
End Sub
Private Sub cmdNewGame_Click()
'Begin a new game
'Show the Names form
frmNames.Show vbModal
Dim Image1(0 To 48) As Integer
End Sub
Private Sub Image1_Click(Index As Integer)
Dim k As Integer
Dim n As Integer
Dim m As Integer
Dim j As Integer
'Number counter to trigger the "Game over" message box
If mintCounter < 96 Then
If Image1(Index).Picture = Image4.Picture Then
mintCounter = mintCounter + 1
ElseIf Image1(Index).Picture = Image2.Picture _
Or Image1(Index).Picture = Image3.Picture Then
mintCounter = mintCounter
End If
ElseIf mintCounter = 96 Then
mintCounter = mintCounter
MsgBox "Game Over", vbOKOnly
End If
'Make the black dots appear at first
If lblPlayer1.Font.Bold = True Then
If Image1(Index).Picture = Image4.Picture Then
Image1(Index).Picture = Image2.Picture
'Change players with the code below
lblPlayer1.Font.Bold = False
lblPlayer2.Font.Bold = True
'The following are error messages that stop from playing taken spots
ElseIf Image1(Index).Picture = Image3.Picture Then
MsgBox "That move is not allowed!" + vbCrLf + "Please make another move.", vbOKOnly
ElseIf Image1(Index).Picture = Image2.Picture Then
MsgBox "You have already moved here!" + vbCrLf + "Please make another move.", vbOKOnly
End If
'Count the number of black dots on the screen
Dim mintBlack As Integer
If Image1(Index).Picture = Image4.Picture Then
mintBlack = mintBlack + 1
ElseIf Image1(Index).Picture = Image2.Picture Then
mintBlack = mintBlack
ElseIf Image1(Index).Picture = Image3.Picture Then
mintBlack = mintBlack
End If
'Make the white dots appear on the screen
ElseIf lblPlayer2.Font.Bold = True Then
If Image1(Index).Picture = Image4.Picture Then
Image1(Index).Picture = Image3.Picture
'Change players with the code below
lblPlayer1.Font.Bold = True
lblPlayer2.Font.Bold = False
'The following are error messages that stop from playing taken spots
ElseIf Image1(Index).Picture = Image3.Picture Then
MsgBox "You have already moved here!" + vbCrLf + "Please make another move.", vbOKOnly
ElseIf Image1(Index).Picture = Image2.Picture Then
MsgBox "That move is not allowed!" + vbCrLf + "Please make another move.", vbOKOnly
End If
End If
'This is the code that makes the dots change color if they get trapped
For j = 1 To 81 Step 10
For k = j To j + 9
'Changing white to black starting from second to bottom row.
'Changes according to columns, not rows.
If 81 <= k <= 90 And Image1(k).Picture = Image3.Picture Then
'Bottom square is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
'Two squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
'Three squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
'Four squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
'Five squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
'Six squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image3.Picture And Image1(k - 60).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
Image1(k - 50).Picture = Image2.Picture
'Seven squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image3.Picture And Image1(k - 60).Picture = Image3.Picture _
And Image1(k - 70).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
Image1(k - 50).Picture = Image2.Picture
Image1(k - 60).Picture = Image2.Picture
'All eight squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image3.Picture And Image1(k - 60).Picture = Image3.Picture _
And Image1(k - 70).Picture = Image3.Picture And Image1(k - 80).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
Image1(k - 50).Picture = Image2.Picture
Image1(k - 60).Picture = Image2.Picture
Image1(k - 70).Picture = Image2.Picture
Else
End If
End If
End If
'Changing white to black starting from third to bottom row
'Changes according to columns
If 71 <= k <= 80 And Image1(k).Picture = Image3.Picture Then
'Square below is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
'Three squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
'Four squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
'Five squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
'Six squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image3.Picture And Image1(k - 60).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
Image1(k - 50).Picture = Image2.Picture
'Seven squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image3.Picture And Image1(k - 60).Picture = Image3.Picture _
And Image1(k - 70).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
Image1(k - 50).Picture = Image2.Picture
Image1(k - 60).Picture = Image2.Picture
End If
End If
End If
'Changing from white to black starting from the fourth row from the bottom
If 61 <= k <= 70 And Image1(k).Picture = Image3.Picture Then
'Square below is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
'Three squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
'Four squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
'Five squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
'Six squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image3.Picture And Image1(k - 60).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
Image1(k - 50).Picture = Image2.Picture
End If
End If
End If
'Changing from white to black starting from the fifth row from the bottom
If 51 <= k <= 60 And Image1(k).Picture = Image3.Picture Then
'Square below is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
'Two squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
'Three squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
'Four squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
'Five squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image3.Picture _
And Image1(k - 50).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
Image1(k - 40).Picture = Image2.Picture
End If
End If
End If
'Changing from white to black starting from the sixth row from the bottom
If 41 <= k <= 50 And Image1(k).Picture = Image3.Picture Then
'Square below is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
'Two squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
'Three squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
'Four squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image3.Picture And Image1(k - 40).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
Image1(k - 30).Picture = Image2.Picture
End If
End If
End If
'Changing from white to black starting from seventh row from the bottom
If 31 <= k <= 40 And Image1(k).Picture = Image3.Picture Then
'Square below is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
'Two squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
'Three squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image3.Picture _
And Image1(k - 30).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
Image1(k - 20).Picture = Image2.Picture
End If
End If
End If
'Changing from white to black starting from eighth row from bottom
If 21 <= k <= 30 And Image1(k).Picture = Image3.Picture Then
'Square below is black
If Image1(k + 10).Picture = Image2.Picture Then
'One square is white
If Image1(k - 10).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
'Two squares are white
ElseIf Image1(k - 10).Picture = Image3.Picture And Image1(k - 20).Picture = Image2.Picture Then
Image1(k).Picture = Image2.Picture
Image1(k - 10).Picture = Image2.Picture
End If
End If
End If
Next k
Next j
End Sub
Private Sub mnuFileNewGame_Click()
'Hits the new game button
cmdNewGame_Click
End Sub