我正在编写我正在编写的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;
}
}
答案 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;
}
要回答您的问题 - 当您创建新游戏时,是否重置了所有变量?你可能只是在你给出的方法之外的某个地方遇到一个旧状态。