私は、プレーヤーがコードを選択することによって 2 次元配列で動きを選択できるようにするという点で機能する三目並べプログラムを作成しました。その後、コンピューターが動きます。
プログラムは動作しますが、コンピューターの動きはランダムではなくシーケンシャルであり、配列内の次の使用可能なスペースが常に選択されます。ゲームが動作するようになったので、プログラムを 3 つのレベルの難易度に改善したいと思います。
Easy = コンピューターによってランダムに生成された動き Medium = コンピューターによってランダムに生成された動きで、プレーヤーをブロックしてラインを完成させることをチェックする Hard = 再帰を通じて毎回最適な動きを選択する
コンピューターにアレイ内の一連のコードをランダムに選択させるにはどうすればよいですか?
(私の現在の基本的な for loop for computer は移動します)
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