所以,我正在使用 unity,并且我有一个包含井字棋盘当前状态的字符串。看起来像这样:
XOX
ONX
OXX
“N”是一个中性空间。
问题是我想用“X”或“O”替换其中一个“N”。我尝试使用:
board[n] = "X";
但我明白了
“无法分配属性或索引器,它是只读的”
所以我试图想办法改变其中一个“N”。这是我的代码
if (manager.turn == 1 && !isUsed)
{
xSprite.enabled = true;
manager.board[int.Parse(gameObject.name)-1] = 'X';
manager.GameEndingDraw();
isUsed = true;
manager.turn = 2;
}
else if (manager.turn == 2 && !isUsed)
{
oSprite.enabled = true;
manager.board[int.Parse(gameObject.name)-1] = 'O';
manager.GameEndingDraw();
isUsed = true;
manager.turn = 1;
}
Tic-Tac-Toe 板不是字符串,它是一个 3×3 的标记网格,例如字符。您应该将它表示为一个数组,而不是一个字符串:
var board = new char[3, 3];
for (int i = 0; i < board.GetLength(0); i++)
for (int j = 0; j < board.GetLength(1); j++)
board[i, j] = 'N';
然后您可以通过其坐标设置每个标记:
board[0, 0] = 'X';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句