用于检查Tic Tac Toe

时间:2016-01-28 17:20:39

标签: c# algorithm

我在c#中编写了一个Tic Tac Toe程序,并检查一个玩家是否获胜我目前有16个if语句(xo都有8个选项)。 (这些按钮的编号类似于电话拨号盘)。

简短的例子:

if (button1.Text == "X" && button2.Text == "X" && button3.Text=="X")//horizontal top X
{
    MessageBox.Show("Congratulations! X wins!", "Winner!");
}

if (button1.Text == "O" && button2.Text == "O" && button3.Text == "O")//horizontal top O
{     
    MessageBox.Show("Congratulations! O wins!", "Winner!");                
}

if (button4.Text == "X" && button5.Text == "X" && button6.Text == "X")//horizontal middle X
{
    MessagBox.Show("Congratulations! X wins!");
}

if (button4.Text == "O" && button5.Text == "O" && button6.Text == "O")//horizontal middle O
{
    MesageBox.Show("Congratulations! O wins!", "Winner!");                
}

有没有办法说"下一个按钮" / button index?,因为那时我可以做到:

if (button.Text==NextButton.Text==NextButton.Text)
{
    MessageBox.Show("Congratulations! X wins!", "Winner!");
}

或:

if (button[i].Text=="X" && button[i++].Text=="X" && button[i+=2].Text=="X")

2 个答案:

答案 0 :(得分:0)

你可以这样做:

if (button1.Text == button2.Text && button2.Text == button3.Text)
   MessageBox.Show("Congratulations! " +button1.Text +" wins!", "Winner!");                

等等。

答案 1 :(得分:0)

或者您可以创建3x3按钮数组,然后您可以使用索引方法button[row,column]来访问它们。