Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.11.2020
Сообщений: 1

Прогнозирование победы в крестики-нолики

21.11.2020, 12:54. Показов 1323. Ответов 4

Студворк — интернет-сервис помощи студентам
У нас есть поле 10x10 для крестиков и ноликов. На поле отмечены крестики, нолики или точки(означает что клетка пустая). Что бы выиграть, надо что бы в ряд или по диагонали было 5 элементов, и на основе входных данных предсказать кто победит.

Буду благодарен коду на python, или другом яп, или хотя бы словесное описание алгоритма

Входные данные:
..........
..........
..........
..........
...0XX0...
...X0X0...
..........
..........
..........
..........

Выходные данные:
X
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2020, 12:54
Ответы с готовыми решениями:

Крестики-нолики
Напишите класс TicTacToeBoard для игры в крестики-нолики, который должен иметь следующие методы: new_game() – для создания новой игры;...

Крестики-нолики
Два игрока играют в крестики-нолики. Напишите программу, которая после каждого хода игрока проверяет поле и, если игра завершилась, выводит...

Крестики-нолики
Пишу крестики нолики, этот кусок кода отвечает за считывание матрицы и проверку на победителя, вот в чем заключается проблема: Не понимаю...

4
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
21.11.2020, 14:44
uimpl, Алгоритм, конечно - если есть возможность "поставить" один "Х" или "О" на пересечении "линий" так, чтобы получилось минимум две "сплошные" последовательности из трех знаков, не имеющих каждая "по краям" противоположного "знака"...
Х
ХХ
Х Х
Или
ХХХ
Х
Х
Или
--Х
-Х-Х
Х----Х
Но
ХХХО
Х
Х
Не является решением - после верхних Х есть сразу О
ХХХ-О
Х
Х
Это является решением
Или одна последовательность из 4 (со свободными концами) или 5 (ну это понятно)...
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
21.11.2020, 15:21
Мне тоже хотелось бы написать такую программу, которую хочет ТС, но ничего толком не вышло. Только интерфейс красивый написал, на этом успехи и закончились.

Добавлено через 2 минуты
Друг один раз сыграл партию с программой, выиграл в 8 ходов, больше не играл (потому что скучно со слабым соперником играть).

Добавлено через 1 минуту
Ну по крайней мере, не в пять ходов программа проиграла .
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
21.11.2020, 15:31
КулХацкеръ, алгоритм "не проиграть" - при появлении "по линии" двух знаков противника ставится рядом в линии свой знак. Если два знака с "пробелом" по линии, то обяз между ними
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
21.11.2020, 15:56
Примерно такой алгоритм и был, про агрессию даже и не думал, отбиться бы. Если программа находила линию из двух знаков противника на линии из пяти клеток, то прибавляла в свободные клетки опасность 10, если находила линию из трёх знаков противника на линии из шести клеток, то добавляла в свободные клетки опасность 100, для линии из четырёх знаков добавлялась опасность 1000, и так как опасности суммировались, то к примеру, пересечение двух линий из трёх знаков опаснее (имеет уже опасность 200, а не 100).

Добавлено через 1 минуту
Далее программа просто выбирала клетку с наибольшей опасностью и ставила нулик (она всегда за нолики играла).

Добавлено через 3 минуты
Обидно, но так и не получилось толком реализовать алгоритм. По неясной причине программа добавляла опасность на краю доски, где не было никакой активности и никаких крестиков, в итоге при принятии решения она часто ходила на край доски, хотя надо было обороняться в центре.

Боролся с этим глюком долго и мучительно, потом просто забросил программу .

Добавлено через 4 минуты
Да и вообще, у ТС задача не просто написать играющую программу, а сделать прогноз. Догадываюсь, что это ещё сложнее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2020, 15:56
Помогаю со студенческими работами здесь

Нолики-крестики
Напишите программу, которая определяет, кто выиграл в крестики-нолики на увеличенном квадратном поле, выстроив подряд по горизонтали или по...

Крестики-нолики
Напишите функцию tic_tac_toe(field), которая принимает на вход список списков 3х3 — поле игры в крестики-нолики. На этом поле отражен...

Крестики - нолики
Есть готовый код, дали задание разобрать логику кода, шаг за шагом... что-то у меня всё запуталось в голове, может кто-то поможет...

Крестики-нолики
Мне надо сделать игру крестики-нолики, как бы... игра простая, в интернете бесконечное количество вариантов, но есть один нюанс: поле...

Крестики-нолики
Добрый день! Подскажите, как из строки построить матрицу 3*3 Enter cells: "O OXXO XX" --------- | O O | | X X O | | X X | ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru