Кто-либо знает, существует ли бесплатная функция проверки шахматных ходов Python, доступная где-нибудь?
В чем я нуждаюсь. Мне сохранили схему как строку и перемещаю кандидата. То, в чем я нуждаюсь, должно видеть, допустим ли кандидат перемещения для схемы.
Действительно был бы интересно видеть примеры, если это возможно.
Строка смотрит этот путь:
ememememememememememememememememememembbememwpemememememememwpemembkememememememememememememememememwbembrememememwkemememememem
Я понимаю, что это может казаться глупым, но я нахожу это, самые легкие для кодирования располагают этот путь. Переместитесь кандидат на меня является просто другим таким положением (который произошел после следующего перемещения, может изменить это поведение, я думаю),
Не мешало бы взглянуть на некоторые из связанных ответов сбоку: Библиотека проверки хода шахмат и https://stackoverflow.com/questions/1239913/smallest-chess-playing -программа мне особенно понравилась.
Хотя лично я за создание своего собственного.
Вам не хватает информации, например, чья очередь ходить, ходил ли каждый король (значит, рокировка запрещена), статус "en passant" каждой пешки. Не говоря уже об этом, для вас было бы очень поучительным упражнением написать свой собственный вариант, используя не очень сложное представление доски, такое как массив 10x12 элементов, описанный здесь (за исключением того, что вы линеаризуете его до массива из 120 элементов).
Просто используйте исходный код одной из программ Python Chess, например PyChess или Python Chess
В частности, допустимые ходы для pychess: https : //code.google.com/p/pychess/source/browse/lib/pychess/Utils/lutils/validator.py