本质上,当按下按钮时,调用randomMove()方法,这意味着不会在TicTacToe中找到空方块,然后为其分配“O”,问题是因为至少有两个方格变成了“O”,所以它不会跳出循环。跳出for循环的问题
我不确定我哪里出了问题,但我不怀疑这是一个简单的解决方案。
private void randomMove()
{
for (int i = 0; i < 3; i++)
{
for (int a = 0; a < 3; a++)
{
if (Board[a,i] == "")
{
Board[a,i] = "O";
Temp = i + a;
compMove(Temp);
break;
}
}
}
}
private void compMove(int Temp)
{
switch (Temp)
{
case 0:
btn1.Text = "O";
break;
case 1:
btn2.Text = "O";
break;
case 2:
btn3.Text = "O";
break;
case 3:
btn4.Text = "O";
break;
case 4:
btn5.Text = "O";
break;
case 5:
btn6.Text = "O";
break;
case 6:
btn7.Text = "O";
break;
case 7:
btn8.Text = "O";
break;
case 8:
btn9.Text = "O";
break;
}
hasWon();
}
你嵌套循环。你的意思是只打破嵌套的? – Oded