Quiero leer un archivo PGN y luego avanzar a un cierto número de movimiento, y alimentarlo a un motor UCI. Resulta que los motores funcionan con notación algebraica larga, y los PGN son algebraicos cortos. ¿Cuál es una manera fácil de hacer la conversión? es decir, de SAN a LAN.
Me doy cuenta de que generar una notación algebraica larga requiere conocer el estado del tablero y las reglas de ajedrez, ¡así que no quiero volver a escribirlo todo! Seguramente algo como esto ya debe existir, ya sea un programa de línea de comandos o un módulo (preferiblemente en Python).
pgn
programming
multiplicación rápida
fuente
fuente
Respuestas:
¿Sería esto lo que estás buscando? PGN-extract (Una utilidad de línea de comando) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
Puedo ver una bandera en el documento de características que podría ayudar:
-W[cm|epd|halg|lalg|elalg|san|uci]
- especifique el formato de salida que se utilizará con-Whalg
guión largo algebraico.-Wlalg
Algebraico largo-Welalg[PNBRQK]
es realzado algebraico largo. Usa los caracteres PNBRQK para el lenguajefuente
-Wuci
si quieren alimentarlo a un motor UCI.