Это игра пользователя против пользователя Tic Tac Toe; Как я могу реализовать цикл, чтобы проверить, есть ли TIE в игре вместо использования операторов if / else?
Если нет, есть ли способ сделать этот код менее длинным с помощью циклов?
Пока это мой код. Игра точно проверяет, есть ли победитель, но не знает, когда нет победителя.
Public Class Form1
Dim choice As Boolean
Dim playerXwins, playerOwins As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Panel1.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
Button5.Enabled = False
Button6.Enabled = False
Button7.Enabled = False
Button8.Enabled = False
Button9.Enabled = False
ExitButton.Enabled = False
End Sub
Private Sub ExitButton_Click(sender As Object, e As EventArgs) Handles ExitButton.Click
Me.Close()
End Sub
Private Sub PlayButton_Click(sender As Object, e As EventArgs) Handles PlayButton.Click
PlayButton.Enabled = False
Panel1.Enabled = True
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Button5.Enabled = True
Button6.Enabled = True
Button7.Enabled = True
Button8.Enabled = True
Button9.Enabled = True
ExitButton.Enabled = True
End Sub
Private Sub Buttons_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click
If choice = False Then
CType(sender, Button).Text = "X"
choice = True
Else
CType(sender, Button).Text = "O"
choice = False
End If
ChoosingWinner()
End Sub
Private Sub ChoosingWinner()
If Button1.Text = "X" And Button2.Text = "X" And Button3.Text = "X" Then
MsgBox("Player X Won this Round")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
ElseIf Button1.Text = "X" And Button4.Text = "X" And Button7.Text = "X" Then
MsgBox("Player X Won Round")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
ElseIf Button1.Text = "X" And Button5.Text = "X" And Button9.Text = "X" Then
MsgBox("Player X Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
End If
If Button2.Text = "X" And Button5.Text = "X" And Button8.Text = "X" Then
MsgBox("Player X Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
End If
If Button3.Text = "X" And Button6.Text = "X" And Button9.Text = "X" Then
MsgBox("Player X Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
End If
If Button3.Text = "X" And Button5.Text = "X" And Button7.Text = "X" Then
MsgBox("Player X Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
End If
If Button4.Text = "X" And Button5.Text = "X" And Button6.Text = "X" Then
MsgBox("Player X Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
End If
If Button7.Text = "X" And Button8.Text = "X" And Button9.Text = "X" Then
MsgBox("Player X Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerXwins = playerXwins + 1
Label2.Text = playerXwins
End If
If Button1.Text = "O" And Button2.Text = "O" And Button3.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button1.Text = "O" And Button4.Text = "O" And Button7.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button1.Text = "O" And Button5.Text = "O" And Button9.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button2.Text = "O" And Button5.Text = "O" And Button8.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button3.Text = "O" And Button6.Text = "O" And Button9.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button3.Text = "O" And Button5.Text = "O" And Button7.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button4.Text = "O" And Button5.Text = "O" And Button6.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
If Button7.Text = "O" And Button8.Text = "O" And Button9.Text = "O" Then
MsgBox("Player O Won!")
Button1.Text = ""
Button2.Text = ""
Button3.Text = ""
Button4.Text = ""
Button5.Text = ""
Button6.Text = ""
Button7.Text = ""
Button8.Text = ""
Button9.Text = ""
playerOwins = playerOwins + 1
Label1.Text = playerOwins
End If
End Sub
End Class