Làm cách nào để chuyển đổi PGN chuyển sang ký hiệu đại số dài (trong python)?


12

Tôi muốn đọc tệp PGN và sau đó chuyển sang một số di chuyển nhất định và cung cấp tệp đó cho công cụ UCI. Hóa ra các công cụ hoạt động bằng cách sử dụng ký hiệu đại số dài và PGN là đại số ngắn. Một cách dễ dàng để thực hiện chuyển đổi là gì? tức là từ SAN sang LAN.

Tôi nhận ra rằng việc tạo ký hiệu đại số dài đòi hỏi kiến ​​thức về quy tắc cờ và trạng thái cờ, vì vậy tôi không muốn viết lại tất cả! Chắc chắn một cái gì đó như thế này đã tồn tại - hoặc là một chương trình dòng lệnh hoặc một mô-đun (tốt nhất là trong python).


2
Câu hỏi này dường như lạc đề vì nó là về lập trình chứ không phải về cờ vua.
Tony Enni

3
AFAIK, cuộc thảo luận meta rõ ràng nhất đã có liên quan đến việc liệu đây có phải là chủ đề hay không là meta.chess.stackexchange.com/q/100/167 . Sự đồng thuận tại thời điểm đó dường như là một cái gì đó như thế này nên được xem xét về chủ đề. (Lưu ý: Tôi không tranh cãi bằng cách này hay cách khác, vì vậy đừng mang nó theo tôi. Nhưng hãy thoải mái đóng góp cho chủ đề meta đó.)
ETD

Câu trả lời:


7

Đây sẽ là những gì bạn đang tìm kiếm? PGN-extract (Tiện ích dòng lệnh) http://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/

Tôi có thể thấy một lá cờ trong tài liệu tính năng có thể giúp:

  • -W[cm|epd|halg|lalg|elalg|san|uci]- chỉ định định dạng đầu ra để sử dụng
    -Whalglà đại số dài gạch nối.
    -Wlalglà đại số dài
    -Welalg[PNBRQK]được tăng cường đại số dài. Sử dụng các ký tự PNBRQK cho ngôn ngữ

2
Tùy chọn tốt nhất cho người hỏi có lẽ là -Wucinếu họ muốn đưa nó vào động cơ UCI.
Vegard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.