因此,我使用的是單一字符串,並且該字符串包含井字棋板的當前狀態。它看起來像這樣:替換字符串中的單個字符
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