Dim CLICKCOUNT, i, winner As Integer
Private Sub cmdExit_Click()
'Quit the game
Unload Me
End Sub
Private Sub cmdPlay_Click()
'Play the game
Play
End Sub
Private Sub cmdTile_Click(Index As Integer)
If (CLICKCOUNT Mod 2 = 1) Then
cmdTile(Index).Caption = "x"
Else
cmdTile(Index).Caption = "o"
End If
CLICKCOUNT = CLICKCOUNT + 1
cmdTile(Index).Enabled = False
CheckWinner
End Sub
Private Sub Form_Load()
'Tic Tac Toe/Noughts and Crosses
'14/04/2012
'Version 1.0
'Language VB6.0
'Author: Nightwalker83
'Website: http://aaronspehr.net/
'Version 1.0 11/04/2012 - Basic two player functions implemented.
Me.Caption = "Tic Tac Toe/Noughts and Crosses"
For i = 0 To 8
cmdTile(i).Enabled = False
Next i
End Sub
Private Sub Play()
CLICKCOUNT = 0
winner = -1
For i = 0 To 8
cmdTile(i).Caption = ""
cmdTile(i).Enabled = True
Next i
End Sub
Private Sub CheckWinner()
' Horizontal row 1
If cmdTile(0).Caption = "o" And cmdTile(1).Caption = "o" And cmdTile(2).Caption = "o" Then winner = 0
If cmdTile(0).Caption = "x" And cmdTile(1).Caption = "x" And cmdTile(2).Caption = "x" Then winner = 1
' Horizontal row 2
If cmdTile(3).Caption = "o" And cmdTile(4).Caption = "o" And cmdTile(5).Caption = "o" Then winner = 2
If cmdTile(3).Caption = "x" And cmdTile(4).Caption = "x" And cmdTile(5).Caption = "x" Then winner = 3
' Horizontal row 3
If cmdTile(6).Caption = "o" And cmdTile(7).Caption = "o" And cmdTile(8).Caption = "o" Then winner = 4
If cmdTile(6).Caption = "x" And cmdTile(7).Caption = "x" And cmdTile(8).Caption = "x" Then winner = 5
'Vertical row 1
If cmdTile(0).Caption = "o" And cmdTile(3).Caption = "o" And cmdTile(6).Caption = "o" Then winner = 6
If cmdTile(0).Caption = "x" And cmdTile(3).Caption = "x" And cmdTile(6).Caption = "x" Then winner = 7
'Vertical row 2
If cmdTile(1).Caption = "o" And cmdTile(4).Caption = "o" And cmdTile(7).Caption = "o" Then winner = 8
If cmdTile(1).Caption = "x" And cmdTile(4).Caption = "x" And cmdTile(7).Caption = "x" Then winner = 9
'Vertical row 3
If cmdTile(2).Caption = "o" And cmdTile(5).Caption = "o" And cmdTile(8).Caption = "o" Then winner = 10
If cmdTile(2).Caption = "x" And cmdTile(5).Caption = "x" And cmdTile(8).Caption = "x" Then winner = 11
'Diagonal 1
If cmdTile(0).Caption = "o" And cmdTile(4).Caption = "o" And cmdTile(8).Caption = "o" Then winner = 12
If cmdTile(0).Caption = "x" And cmdTile(4).Caption = "x" And cmdTile(8).Caption = "x" Then winner = 13
'Diagonal 2
If cmdTile(2).Caption = "o" And cmdTile(4).Caption = "o" And cmdTile(6).Caption = "o" Then winner = 14
If cmdTile(2).Caption = "x" And cmdTile(4).Caption = "x" And cmdTile(6).Caption = "x" Then winner = 15
'MsgBox (winner)
If (winner = 0 Or winner = 2 Or winner = 4 Or winner = 6 Or winner = 8 Or winner = 10 Or winner = 12 Or winner = 14) Then
Result = MsgBox("Player o is victorious! Play Again?", vbYesNo)
If Result = vbYes Then
Play
Else
endGame
End If
End If
If (winner = 1 Or winner = 3 Or winner = 5 Or winner = 7 Or winner = 9 Or winner = 11 Or winner = 13 Or winner = 15) Then
Result = MsgBox("Player x is victorious! Play Again?", vbYesNo)
If Result = vbYes Then
Play
Else
endGame
End If
End If
If CLICKCOUNT = 9 Then
MsgBox ("This game is a draw!")
endGame
End If
End Sub
Private Sub endGame()
For i = 0 To 8
cmdTile(i).Enabled = False
Next i
End Sub