Keltus
12-20-2000, 07:15 PM
hello, I made this 1 player tic-tac-toe program and it doesn't seem to work quite right: After it says you win, the computer keeps going for an extra move
is there anyway to fix it? the code is below
Dim Turn As Integer
Sub NewGame()
For Index = 0 To 8
imgSquare(Index).Picture = imgBlank.Picture
Next
Turn = 0
End Sub
Sub Win()
MsgBox "You win!"
NewGame
End Sub
Sub Lose()
MsgBox "You lose!"
NewGame
End Sub
Private Sub imgSquare_Click(Index As Integer)
Randomize
If imgSquare(Index).Picture = None Then
imgSquare(Index).Picture = imgX.Picture
Turn = Turn + 1
If Turn < 5 Then
FindSquare:
Square = Int(9 * Rnd)
If imgSquare(Square).Picture = None Then
imgSquare(Square).Picture = imgO.Picture
Else
GoTo FindSquare
End If
End If
End If
If imgSquare(0).Picture = imgX.Picture And imgSquare(1).Picture = imgX.Picture And imgSquare(2).Picture = imgX.Picture Then Win
If imgSquare(3).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(5).Picture = imgX.Picture Then Win
If imgSquare(6).Picture = imgX.Picture And imgSquare(7).Picture = imgX.Picture And imgSquare(8).Picture = imgX.Picture Then Win
If imgSquare(0).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(8).Picture = imgX.Picture Then Win
If imgSquare(2).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(6).Picture = imgX.Picture Then Win
If imgSquare(0).Picture = imgX.Picture And imgSquare(3).Picture = imgX.Picture And imgSquare(6).Picture = imgX.Picture Then Win
If imgSquare(1).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(7).Picture = imgX.Picture Then Win
If imgSquare(2).Picture = imgX.Picture And imgSquare(5).Picture = imgX.Picture And imgSquare(8).Picture = imgX.Picture Then Win
If imgSquare(0).Picture = imgO.Picture And imgSquare(1).Picture = imgO.Picture And imgSquare(2).Picture = imgO.Picture Then Lose
If imgSquare(3).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(5).Picture = imgO.Picture Then Lose
If imgSquare(6).Picture = imgO.Picture And imgSquare(7).Picture = imgO.Picture And imgSquare(8).Picture = imgO.Picture Then Lose
If imgSquare(0).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(8).Picture = imgO.Picture Then Lose
If imgSquare(2).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(6).Picture = imgO.Picture Then Lose
If imgSquare(0).Picture = imgO.Picture And imgSquare(3).Picture = imgO.Picture And imgSquare(6).Picture = imgO.Picture Then Lose
If imgSquare(1).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(7).Picture = imgO.Picture Then Lose
If imgSquare(2).Picture = imgO.Picture And imgSquare(5).Picture = imgO.Picture And imgSquare(8).Picture = imgO.Picture Then Lose
If Turn = 5 Then
MsgBox "Game is drawn"
NewGame
End If
End Sub
Private Sub mnuNewGame_Click()
NewGame
End Sub
Private Sub mnuQuit_Click()
End
End Sub
thanks
is there anyway to fix it? the code is below
Dim Turn As Integer
Sub NewGame()
For Index = 0 To 8
imgSquare(Index).Picture = imgBlank.Picture
Next
Turn = 0
End Sub
Sub Win()
MsgBox "You win!"
NewGame
End Sub
Sub Lose()
MsgBox "You lose!"
NewGame
End Sub
Private Sub imgSquare_Click(Index As Integer)
Randomize
If imgSquare(Index).Picture = None Then
imgSquare(Index).Picture = imgX.Picture
Turn = Turn + 1
If Turn < 5 Then
FindSquare:
Square = Int(9 * Rnd)
If imgSquare(Square).Picture = None Then
imgSquare(Square).Picture = imgO.Picture
Else
GoTo FindSquare
End If
End If
End If
If imgSquare(0).Picture = imgX.Picture And imgSquare(1).Picture = imgX.Picture And imgSquare(2).Picture = imgX.Picture Then Win
If imgSquare(3).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(5).Picture = imgX.Picture Then Win
If imgSquare(6).Picture = imgX.Picture And imgSquare(7).Picture = imgX.Picture And imgSquare(8).Picture = imgX.Picture Then Win
If imgSquare(0).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(8).Picture = imgX.Picture Then Win
If imgSquare(2).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(6).Picture = imgX.Picture Then Win
If imgSquare(0).Picture = imgX.Picture And imgSquare(3).Picture = imgX.Picture And imgSquare(6).Picture = imgX.Picture Then Win
If imgSquare(1).Picture = imgX.Picture And imgSquare(4).Picture = imgX.Picture And imgSquare(7).Picture = imgX.Picture Then Win
If imgSquare(2).Picture = imgX.Picture And imgSquare(5).Picture = imgX.Picture And imgSquare(8).Picture = imgX.Picture Then Win
If imgSquare(0).Picture = imgO.Picture And imgSquare(1).Picture = imgO.Picture And imgSquare(2).Picture = imgO.Picture Then Lose
If imgSquare(3).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(5).Picture = imgO.Picture Then Lose
If imgSquare(6).Picture = imgO.Picture And imgSquare(7).Picture = imgO.Picture And imgSquare(8).Picture = imgO.Picture Then Lose
If imgSquare(0).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(8).Picture = imgO.Picture Then Lose
If imgSquare(2).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(6).Picture = imgO.Picture Then Lose
If imgSquare(0).Picture = imgO.Picture And imgSquare(3).Picture = imgO.Picture And imgSquare(6).Picture = imgO.Picture Then Lose
If imgSquare(1).Picture = imgO.Picture And imgSquare(4).Picture = imgO.Picture And imgSquare(7).Picture = imgO.Picture Then Lose
If imgSquare(2).Picture = imgO.Picture And imgSquare(5).Picture = imgO.Picture And imgSquare(8).Picture = imgO.Picture Then Lose
If Turn = 5 Then
MsgBox "Game is drawn"
NewGame
End If
End Sub
Private Sub mnuNewGame_Click()
NewGame
End Sub
Private Sub mnuQuit_Click()
End
End Sub
thanks