【发布时间】:2012-02-16 09:07:26
【问题描述】:
本质上,当按下按钮时,会调用 randomMove() 方法,这意味着不是在井字游戏中找到一个空方格然后为其分配一个“O”,问题是它不会中断至少有两个方块变成“O”。
我不确定我哪里出错了,但我不怀疑这是一个简单的解决方案。
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();
}
【问题讨论】:
-
你有嵌套循环。你的意思是只打破嵌套的吗?
标签: c# for-loop nested-loops