Tic Tac Toe Game DeclareWinner

时间:2016-03-16 05:21:21

标签: c#

我正在编写我正在编写的tic tac toe游戏。在文件菜单下点击新游戏时,在已经赢得游戏之后,用户只需要放置一个X或O,程序就会再次宣布获胜者。我不确定为什么会这样做。这是代码的pastebin链接。

private bool DiaganolWin()
    {

        //checks for diaganol winner
        if ((a1.Text == b2.Text) && (b2.Text == c3.Text) && (!a1.Enabled))
            there_is_a_winner = true;
        else if ((a3.Text == b2.Text) && (b2.Text == c1.Text) && (!c1.Enabled))
            there_is_a_winner = true;

        if (there_is_a_winner == true)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

1 个答案:

答案 0 :(得分:0)

我只需重写你的方法,它太“吵”了:))

private bool DiaganolWin()
{
    //checks for diaganol winner
    if ((a1.Text == b2.Text) && (b2.Text == c3.Text) && (!a1.Enabled))
        return true;

    if ((a3.Text == b2.Text) && (b2.Text == c1.Text) && (!c1.Enabled))
        return true;

    return false;
}

要回答您的问题 - 当您创建新游戏时,是否重置了所有变量?你可能只是在你给出的方法之外的某个地方遇到一个旧状态。