PGN hareketlerini uzun cebir notasyonuna (python'da) nasıl dönüştürebilirim?


12

Bir PGN dosyasını okumak ve sonra belirli bir hareket numarasına ilerlemek ve bunu bir UCI motoruna beslemek istiyorum. Motorların uzun cebirsel gösterimi kullanarak çalıştığı ortaya çıkıyor ve PGN'ler kısa cebirsel. Dönüştürmeyi yapmanın kolay yolu nedir? yani SAN'dan LAN'a.

Uzun cebirsel notasyon üretmenin yönetim kurulu devleti ve satranç kuralları hakkında bilgi gerektirdiğinin farkındayım, bu yüzden hepsini tekrar yazmak istemiyorum! Elbette böyle bir şey zaten mevcut olmalıdır - bir komut satırı programı veya bir modül (tercihen python'da).


2
Bu soru konu dışı gibi görünmektedir çünkü satrançla değil programlama ile ilgilidir.
Tony Ennis

3
AFAIK, bunun en açık meta tartışması, bunun konu üzerine olup olmadığı meta.chess.stackexchange.com/q/100/167 ile ilgilidir . Bu noktada fikir birliği, böyle bir şeyin konuyla ilgili olarak ele alınması gerektiği gibi görünüyordu. (Not: Ben şu ya da bu şekilde tartışmıyorum, bu yüzden onu bana almayın. Ancak bu meta iş parçacığına katkıda bulunmaktan çekinmeyin.)
ETD

Yanıtlar:


7

Aradığın şey bu mu? PGN özü (Bir komut satırı yardımcı programı) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/

Özellik doktorunda yardımcı olabilecek bir bayrak görebilirsiniz :

  • -W[cm|epd|halg|lalg|elalg|san|uci]- kullanılacak çıktı biçimini belirtmek
    -Whalguzun cebirle tirelidir.
    -Wlalguzun cebir
    -Welalg[PNBRQK]geliştirilmiş uzun cebir. Dil için PNBRQK karakterlerini kullanma

2
Sormuş olan kişi için en iyi seçenek muhtemelen -Wucibir UCI motoruna beslemek isteyip istemedikleridir.
Vegard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.