我已經創建了一個tic tac toe程序,它的作用在於它允許玩家通過選擇線來選擇在二維陣列中的移動,然後計算機進行移動。如何使用隨機選擇二維數組中的位置?
該程序可以工作,但計算機的移動是連續的,而不是隨機的,並且總是會選擇陣列中的下一個可用空間。現在,我有比賽的工作,我想提高節目分爲三個難度等級:通過計算機
易=隨機生成的移動媒介=隨機生成的由計算機此舉檢查以阻止玩家和完整產品線 硬=每次通過遞歸選擇最佳移動
如何讓電腦隨機選擇我的陣列中的一組電線?
(我的for循環計算機的當前基本移動)
static void Computermove(char[,] gamegrid, char fin)
{
Console.WriteLine("\nComputer's turn");
Console.ReadKey();
int x = 0;
int y = 0;
for (x = 0; x < 2; x++)
{
for (y = 0; y < 2; y++)
if (gamegrid[x, y] == ' ') break;
if (gamegrid[x, y] == ' ') break;
}
if (x * y == 9)
{
fin = 'X';
}
else
gamegrid[x, y] = 'O';
} // End Computermove
感謝。我現在有程序按我的意願選擇隨機位置。我確實有一個錯誤,但是如果它的左邊有勝出的動作,它會在哪裏破裂? –
static void Computermove(char [,] gamegrid,char fin) var random = new Random(); int row = random.Next(2); int column = random.Next(2); (gamegrid [row,column]!='') Computermove(gamegrid,fin); } else { gamegrid [row,column] ='O'; } } // End Computermove –
發生未處理的'System.StackOverflowException'類型的異常 –