Объяснение
PGN, сокращение от Портативной шахматной нотации, является текстовым форматом для хранения и обмена шахматными партиями. Его можно открыть как обычный текст, но его структура позволяет программам, сайтам и базам данных восстановить партию.
Две части партии 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
