Chcę odczytać plik PGN, a następnie przejść do określonego numeru przeniesienia i podać go do silnika UCI. Okazuje się, że silniki działają przy użyciu długiej notacji algebraicznej, a PGN są w skrócie algebraiczne. Jaki jest łatwy sposób na konwersję? tj. z SAN na LAN.
Zdaję sobie sprawę, że generowanie długiej notacji algebraicznej wymaga znajomości stanu planszy i zasad szachowych, więc nie chcę pisać tego wszystkiego od nowa! Z pewnością coś takiego musi już istnieć - albo program wiersza poleceń, albo moduł (najlepiej w Pythonie).
pgn
programming
szybkie mnożenie
źródło
źródło
Odpowiedzi:
Czy tego właśnie szukasz? PGN-extract (narzędzie wiersza poleceń) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
Widzę flagę w doc funkcji , które mogą pomóc:
-W[cm|epd|halg|lalg|elalg|san|uci]
- Określić format wyjściowy, który-Whalg
ma być dzielony, długi algebraiczny.-Wlalg
jest długi algebraiczny-Welalg[PNBRQK]
jest wzmocniony długi algebraiczny. Użyj języka PNBRQK jako językaźródło
-Wuci
czy chcą ją podać do silnika UCI.