Je veux lire un fichier PGN, puis avancer vers un certain numéro de déplacement et le transmettre à un moteur UCI. Il s'avère que les moteurs fonctionnent en utilisant une notation algébrique longue, et les PGN sont en algébrique court. Quelle est la manière la plus simple d'effectuer la conversion? c'est-à-dire du SAN au LAN.
Je me rends compte que la génération d'une notation algébrique longue nécessite une connaissance de l'état du plateau et des règles d'échecs, donc je ne veux pas tout réécrire! Certes, quelque chose comme ça doit déjà exister - soit un programme en ligne de commande ou un module (de préférence en python).
pgn
programming
multiplication rapide
la source
la source
Réponses:
Serait-ce ce que vous recherchez? PGN-extract (Un utilitaire de ligne de commande) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
Je peux voir un indicateur dans le document de fonctionnalité qui pourrait aider:
-W[cm|epd|halg|lalg|elalg|san|uci]
- spécifiez que le format de sortie à utiliser-Whalg
est algébrique long avec trait d'union.-Wlalg
est algébrique long est algébrique-Welalg[PNBRQK]
long amélioré. Utilisez les caractères PNBRQK pour la languela source
-Wuci
si elle souhaite l'introduire dans un moteur UCI.