Я хочу прочитать файл PGN, а затем перейти к определенному номеру хода и передать его в механизм UCI. Оказывается, двигатели работают с использованием длинных алгебраических обозначений, а PGN - в коротких алгебраических. Какой простой способ сделать преобразование? то есть от SAN до LAN.
Я понимаю, что генерация длинной алгебраической записи требует знания состояния доски и шахматных правил, поэтому я не хочу писать все это снова! Конечно, что-то вроде этого должны уже существовать - либо программу командной строки или модуль (предпочтительно в Python).
pgn
programming
fastmultiplication
источник
источник
Ответы:
Будет ли это то , что вы ищете? ПГН-экстракт (утилита командной строки) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
Я могу видеть флаг в документообороте, который может помочь:
-W[cm|epd|halg|lalg|elalg|san|uci]
- указать выходной формат для использования-Whalg
в дефис долго алгебраическим.-Wlalg
давно алгебраическая-Welalg[PNBRQK]
усиливается долго алгебраическим. Используйте символы PNBRQK для языкаисточник
-Wuci
если они хотят , чтобы кормить его к двигателю UCI.