C # - Tic Tac Toe Minimax не приводит к непобедимой игреC#

Место общения программистов C#
Ответить
Anonymous
 C # - Tic Tac Toe Minimax не приводит к непобедимой игре

Сообщение Anonymous »

Я изучал, как кодировать алгоритм минимакса, который делает его так, что игра Tic-Tac-Toe может заканчиваться только в розыгрыше или потере, однако всякий раз, когда я играю против компьютера, я все еще могу выиграть, Поскольку компьютер не выбирает наилучший вариант. Читал гиды весь день, но я не могу понять, что я делаю неправильно или где я испортил.public static int Minimax(List grid, int player, int depth)
{
if (GetWinner(grid) != 0)
return GetScore(grid, depth);

List possible_moves = GetAvailMoves(grid);
List scores = [];
List moves = [];
depth += 1;

foreach (int i in possible_moves)
{
grid = player;
scores.Add(Minimax(grid, -player, depth));
grid = 0;
moves.Add(i);
}

if (player == -1)
return moves[scores.IndexOf(scores.Max())];
else
return moves[scores.IndexOf(scores.Min())];
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... table-game
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»