VB.Net中的TicTacToe绘制条件

VB.Net中的TicTacToe绘制条件,vb.net,Vb.net,假设我有九个标签,从label1到label9,排列成3x3网格。所以看起来应该是这样的 label1 label2 label3 label4 label5 label6 label7 label8 label9 tic tac toe的胜利条件是当条件r满足时,如下图所示: 基于这些条件,我可以写: Public Sub winCondition() If Label1.Text = "x" And Label2.Text = "x" And Label3.Text = "x"

假设我有九个标签,从label1到label9,排列成3x3网格。所以看起来应该是这样的

label1 label2 label3

label4 label5 label6

label7 label8 label9

tic tac toe的胜利条件是当条件r满足时,如下图所示:

基于这些条件,我可以写:

 Public Sub winCondition()

    If Label1.Text = "x" And Label2.Text = "x" And Label3.Text = "x" Then
        Call xWin()
    ElseIf Label4.Text = "x" And Label5.Text = "x" And Label6.Text = "x" Then
        Call xWin()
    ElseIf Label7.Text = "x" And Label8.Text = "x" And Label9.Text = "x" Then
        Call xWin()
    ElseIf Label1.Text = "x" And Label4.Text = "x" And Label7.Text = "x" Then
        Call xWin()
    ElseIf Label2.Text = "x" And Label5.Text = "x" And Label8.Text = "x" Then
        Call xWin()
    ElseIf Label3.Text = "x" And Label6.Text = "x" And Label9.Text = "x" Then
        Call xWin()
    ElseIf Label1.Text = "x" And Label5.Text = "x" And Label9.Text = "x" Then
        Call xWin()
    ElseIf Label3.Text = "x" And Label5.Text = "x" And Label7.Text = "x" Then
        Call xWin()
    ElseIf Label1.Text = "o" And Label2.Text = "o" And Label3.Text = "o" Then
        Call oWin()
    ElseIf Label4.Text = "o" And Label5.Text = "o" And Label6.Text = "o" Then
        Call oWin()
    ElseIf Label7.Text = "o" And Label8.Text = "o" And Label9.Text = "o" Then
        Call oWin()
    ElseIf Label1.Text = "o" And Label4.Text = "o" And Label7.Text = "o" Then
        Call oWin()
    ElseIf Label2.Text = "o" And Label5.Text = "o" And Label8.Text = "o" Then
        Call oWin()
    ElseIf Label3.Text = "o" And Label6.Text = "o" And Label9.Text = "o" Then
        Call oWin()
    ElseIf Label1.Text = "o" And Label5.Text = "o" And Label9.Text = "o" Then
        Call oWin()
    ElseIf Label3.Text = "o" And Label5.Text = "o" And Label7.Text = "o" Then
        Call oWin()

    End If

    If Form1.Label3.Text <> "0" And Form1.Label4.Text <> "0" Then
        imbang()
    End If
End Sub
Public Sub-winCondition()
如果Label1.Text=“x”和Label2.Text=“x”以及Label3.Text=“x”,则
调用xWin()
ElseIf Label4.Text=“x”和Label5.Text=“x”以及Label6.Text=“x”,然后
调用xWin()
ElseIf Label7.Text=“x”和Label8.Text=“x”以及Label9.Text=“x”,然后
调用xWin()
ElseIf Label1.Text=“x”和Label4.Text=“x”以及Label7.Text=“x”,然后
调用xWin()
ElseIf Label2.Text=“x”和Label5.Text=“x”以及Label8.Text=“x”,然后
调用xWin()
ElseIf Label3.Text=“x”和Label6.Text=“x”以及Label9.Text=“x”,然后
调用xWin()
ElseIf Label1.Text=“x”和Label5.Text=“x”以及Label9.Text=“x”,然后
调用xWin()
ElseIf Label3.Text=“x”和Label5.Text=“x”以及Label7.Text=“x”,然后
调用xWin()
ElseIf Label1.Text=“o”和Label2.Text=“o”以及Label3.Text=“o”,然后
调用oWin()
ElseIf Label4.Text=“o”和Label5.Text=“o”以及Label6.Text=“o”然后
调用oWin()
ElseIf Label7.Text=“o”和Label8.Text=“o”以及Label9.Text=“o”然后
调用oWin()
ElseIf Label1.Text=“o”和Label4.Text=“o”以及Label7.Text=“o”然后
调用oWin()
ElseIf Label2.Text=“o”和Label5.Text=“o”以及Label8.Text=“o”然后
调用oWin()
ElseIf Label3.Text=“o”和Label6.Text=“o”以及Label9.Text=“o”然后
调用oWin()
ElseIf Label1.Text=“o”和Label5.Text=“o”以及Label9.Text=“o”,然后
调用oWin()
ElseIf Label3.Text=“o”和Label5.Text=“o”以及Label7.Text=“o”然后
调用oWin()
如果结束
如果Form1.Label3.Text“0”和Form1.Label4.Text“0”,则
英邦()
如果结束
端接头
xWin和oWin程序只是显示messageBox。 我在模块中还有其他代码。但基本逻辑是这样的

现在对于draw条件,基本上如果所有的块都填充了x和o,但不满足上面的获胜条件,那么它将是draw(它将显示messagebpox,表明它是draw)


如何操作?

在每场比赛开始时添加一个设置为零的计数器。每次有人移动时,在柜台上加一个。在wincondition检查结束时,添加一个最终elsif,查看计数器是否达到9,如果达到9,则调用抽签

如果在wins测试中完成了全局代码,那么抽签结果会是oWin=False还是xWin=False?