我上一次if语句在tic tac toe中检查抽奖有什么问题?我可以使用循环吗?

问题描述 投票:-2回答:1

我试图检查tic tac toe游戏中是否有抽奖。这是一个用户与用户tic tac toe游戏,它正确识别胜利者。我在上一次if语句中遇到问题,我试图检查任何抽奖。我是否可以在创建循环或if语句中获得任何指导,以检查是否没有赢家,那么它是一个平局。请帮忙。谢谢。

公共类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.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
        playerOwins = playerOwins + 1
        Label1.Text = playerOwins

    End If

    'checking if there is a draw?
    If Button1.Text And Button2.Text And Button3.Text And Button4.Text And Button5.Text And Button6.Text And Button7.Text And Button8.Text And Button9.Text = "X" Or "O" Then
        MsgBox("There is a Draw")
    End If
End Sub

结束班

vb.net visual-studio-2015
1个回答
0
投票

这不行。这不是vb.net语法的工作方式。每个语句必须返回true或false。

If Button1.Text And Button2.Text And Button3.Text And Button4.Text And Button5.Text And Button6.Text And Button7.Text And Button8.Text And Button9.Text = "X" Or "O" Then
    MsgBox("There is a Draw")
End If

你必须这样做

If (Button1.Text = "O" Or Button1.Text = "X") And
   (Button2.Text = "O" Or Button2.Text = "X") And
   (Button3.Text = "O" Or Button3.Text = "X") And
   (Button4.Text = "O" Or Button4.Text = "X") And
   (Button5.Text = "O" Or Button5.Text = "X") And
   (Button6.Text = "O" Or Button6.Text = "X") And
   (Button7.Text = "O" Or Button7.Text = "X") And
   (Button8.Text = "O" Or Button8.Text = "X") And
   (Button9.Text = "O" Or Button9.Text = "X")
    MsgBox("There is a Draw")
End If
© www.soinside.com 2019 - 2024. All rights reserved.