Пояснення
PGN, скорочення від Portable Game Notation, це текстовий формат для зберігання й обміну шаховими партіями. Людина може відкрити його як звичайний текст, а шахові програми, сайти й бази даних можуть використовувати його структуру для відтворення партії.
Дві частини партії PGN
- Розділ пар тегів зберігає дані в квадратних дужках, зокрема Event, Site, Date, Round, White, Black і Result. Ці сім тегів утворюють базовий архівний набір.
- Розділ тексту ходів містить номери ходів, ходи у , необов'язкові коментарі, варіанти й одну остаточну позначку результату.
Коментарі зазвичай містяться у фігурних дужках. Альтернативні лінії записують у круглих дужках, і вони можуть містити вкладені варіанти. Стислі оцінки можна зберігати як NAG, тобто коди зі знака $ та числа. Один файл .pgn може містити одну або багато окремих партій.
PGN записує партію або дерево варіантів, а не лише знімок шахівниці. Якщо партія починається з нестандартної позиції, заголовки SetUp і можуть задавати цю початкову позицію. Сам FEN описує позицію, а не історію ходів, що до неї привела.
Чим PGN не є
PGN не є протоколом, за допомогою якого рушій обчислює ходи чи спілкується з графічним інтерфейсом. Протоколи на кшталт передають команди між програмами; PGN передає записи партій. Програми також підтримують різні розширення, тому найсумісніші файли дотримуються стандартної структури й містять дозволені ходи.
Остаточна позначка має бути 1-0, 0-1, 1/2-1/2 або *. Вона також має збігатися із заголовком Result. Зірочку використовують, коли партія триває або остаточний результат недоступний.
Поширені непорозуміння
PGN і FEN
PGN зберігає партію та її метадані; FEN описує одну початкову або проміжну позицію.
PGN і UCI
PGN є форматом запису партій; UCI є протоколом зв'язку з рушіями.
Джерела
- 1.Portable Game Notation Specification and Implementation Guide, Steven J. Edwards
- 2.PGN parsing and writing, python-chess
