Я изучал, как кодировать алгоритм минимакса, который делает его так, что игра 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#
Место общения программистов C#
-
Anonymous
1737767864
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[i] = player;
scores.Add(Minimax(grid, -player, depth));
grid[i] = 0;
moves.Add(i);
}
if (player == -1)
return moves[scores.IndexOf(scores.Max())];
else
return moves[scores.IndexOf(scores.Min())];
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79386030/c-sharp-tic-tac-toe-minimax-does-not-result-in-unbeatable-game[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия