Я изучал, как кодировать алгоритм минимакса, который делает его так, что игра 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
C # - Tic Tac Toe Minimax не приводит к непобедимой игре ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Попытка реализовать Tic-Tac-Toe с помощью Minimax algortighm, но не оптимальные движения
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-