因此,我使用的是单一字符串,并且该字符串包含井字棋板的当前状态。它看起来像这样:替换字符串中的单个字符
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;
}
'string'是immuteable。你必须做board = board.Remove(n,1).Insert(n,“X”);',但是你真的应该考虑一个不同的数据结构,比如2D char数组。 – juharr