Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Сложно ли задать логику бота в крестики-нолики через файл?

Владислав Маврин Знаток (461), на голосовании 1 год назад
День добрый, проблема такая: создал приложение в Android studio. Крестики нолики 3x3 Легкий уровень сложности против бота, где он рандомно выбирает клетку сделал. Для сложного выбрал минимакс алгоритм, да только он не работает совершенно. Бот даже не пытается блокировать меня, хотя у него есть возможность даже выиграть. Поэтому хочу попробовать записать в файл все возможные ходы, чтобы он брал решения из файла
Голосование за лучший ответ
MIKHAIL TSYBIN Знаток (394) 1 год назад
Бро, сложность тут не важна, файлы - твои друзья! Надо просто записать все возможные ходы и их оценки в файл. Когда бот ходит, он читает из файла и выбирает лучший ход. Если не блокирует и не выигрывает, проверь, может где-то ошибка. Проще всего - сделай функцию, что оценивает ходы, и используй её при записи и чтении из файла. Всё будет кайф!
Владислав МавринЗнаток (461) 1 год назад
Я сижу уже 4 дня с этим. Вроде бы все идеально. Но не работает. Про функцию: если ничья или бот вин, то записываем наш двумерный массив? Дальше реализация: сравниваем текущее положение, если частично совпадает с файлом, есть возможность НЕ ПРОИГРАТЬ, то берем из файла?
Дмитрий Шурупов Ученик (147) 1 год назад
Запись логики бота в крестики-нолики через файл - это один из подходов, которые могут быть использованы для реализации различных стратегий и поведения бота. Однако, следует отметить, что сложность задания логики бота через файл будет зависеть от того, каким образом ты хочешь организовать эту информацию в файле.

Вариант 1: Запись всех возможных ходов заранее:
Ты можешь создать файл, в котором будут представлены все возможные комбинации ходов и соответствующие им решения для каждой комбинации. В этом случае, бот будет читать этот файл и выбирать наилучший ход на основе доступных комбинаций в текущей ситуации. Но заметь, что количество возможных комбинаций может быть огромным, поэтому требуется достаточно большой объем памяти и времени для записи и обработки такого файла.

Вариант 2: Динамическая запись и чтение ходов:
Другой подход состоит в записи только релевантных ходов и их решений в файл по мере игры. Например, после каждого сыгранного матча, бот может записывать в файл ходы и результат игры. При следующей игре, бот будет использовать информацию из файла для принятия решений. В этом случае, файл будет содержать только ограниченное количество комбинаций, которые были встречены при игре, и он будет постепенно обновляться с накоплением новой информации.

Оба варианта имеют свои преимущества и ограничения. Выбор зависит от твоих требований к логике бота и доступных ресурсов для хранения и обработки информации.
Владислав МавринЗнаток (461) 1 год назад
Второй вариант выглядит неплохо. Учитывая, что подходящих позиций не так много. Правда, придется пообучать его
Андрей Добреля Профи (869) 1 год назад
Используй алгоритм минимакса, если ты будешь задавать сам логику боту в крестики и нолики то те придется записать около 362880 комбинаций. Так что не ломай себе голову и используй Минимакс. зачем изобретать велосипед когда он уже есть?
Владислав МавринЗнаток (461) 1 год назад
Не получается реализовать минимакс. Покажусь тупым, но сижу с ним уже 4 день. То крашится, то решение не то принимает. Лучшим вариантом было когда он ставил подряд. Обращался к чат гпт, он вообще бред пишет.
Похожие вопросы