Ich möchte eine PGN-Datei lesen und dann zu einer bestimmten Verschiebungsnummer vorrücken und diese einer UCI-Engine zuführen. Es stellt sich heraus, dass Engines mit langer algebraischer Notation arbeiten und PGNs in kurzer algebraischer Notation. Was ist ein einfacher Weg, um die Konvertierung durchzuführen? dh von SAN nach LAN.
Mir ist klar, dass das Generieren einer langen algebraischen Notation Kenntnisse über den Board-Status und die Schachregeln erfordert, also möchte ich nicht alles noch einmal schreiben! Sicherlich muss so etwas bereits existieren - entweder ein Befehlszeilenprogramm oder ein Modul (vorzugsweise in Python).
pgn
programming
schnelle Vervielfachung
quelle
quelle
Antworten:
Wäre das das, wonach Sie suchen? PGN-Extrakt (Ein Befehlszeilenprogramm) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
Ich kann im Feature-Dokument eine Flagge sehen , die helfen könnte:
-W[cm|epd|halg|lalg|elalg|san|uci]
- Geben Sie an, dass das zu verwendende Ausgabeformat-Whalg
lange algebraisch getrennt werden soll.-Wlalg
ist lang algebraisch-Welalg[PNBRQK]
ist erweitert lang algebraisch. Verwenden Sie die Zeichen PNBRQK für die Sprachequelle
-Wuci
ob sie es einer UCI-Engine zuführen möchte.