Giải thích
PGN, viết tắt Portable Game Notation hay ký hiệu ván cờ di động, là định dạng văn bản để lưu và trao đổi ván cờ. Có thể mở như văn bản thường, nhưng cấu trúc giúp chương trình, trang và cơ sở dữ liệu tái tạo ván.
Hai phần của một ván PGN
- Phần thẻ chứa dữ liệu trong ngoặc vuông như Event, Site, Date, Round, White, Black và Result. Bảy thẻ này là bộ cơ bản để lưu trữ.
- Phần nước đi có số nước, nước theo , chú thích tùy chọn, biến và dấu kết quả cuối.
Chú thích thường trong ngoặc nhọn. Biến thay thế trong ngoặc đơn và có thể chứa biến khác. Nhận xét ngắn lưu thành NAG, mã gồm $ và số. Một tệp .pgn có thể chứa một hay nhiều ván.
PGN ghi ván hoàn chỉnh hoặc cây biến, không chỉ ảnh bàn cờ. Khi ván bắt đầu từ thế khác ban đầu, thẻ SetUp và chỉ thế xuất phát. FEN chỉ mô tả thế cờ, không lịch sử nước đi dẫn đến nó.
PGN không phải là gì
PGN không là giao thức để máy cờ suy nghĩ hay trao đổi với giao diện. Giao thức như trao lệnh giữa chương trình; PGN trao bản ghi ván. Nó cũng không đảm bảo mọi chương trình nhận cùng phần mở rộng, nên tệp dễ chuyển nên theo cấu trúc chuẩn và nước hợp lệ.
Dấu cuối phải là 1-0, 0-1, 1/2-1/2 hoặc *. Nó cũng phải khớp thẻ Result ở đầu. Dấu sao dùng khi ván đang diễn ra hoặc không có kết quả cuối.
Những nhầm lẫn thường gặp
PGN và FEN
PGN lưu ván và metadata; FEN mô tả một thế đầu hoặc giữa ván.
PGN và UCI
PGN là định dạng bản ghi; UCI là giao thức liên lạc với máy cờ.
Nguồn
- 1.Portable Game Notation Specification and Implementation Guide, Steven J. Edwards
- 2.PGN parsing and writing, python-chess
