Объяснение
FEN, Forsyth-Edwards Notation, является текстовой строкой, описывающей шахматную позицию. Одно поле записывает права на , то есть сохраняет ли каждая сторона предусмотренную правилами возможность специального хода с королём и ладьёй.
В обычных шахматах KQkq различает права на короткую и длинную рокировку. Chess960 является вариантом, который переставляет фигуры начальной горизонтали и может располагать короля и ладьи на вертикалях, отличных от стандартных. Поэтому KQkq не всегда достаточно точно указывает, какая ладья обладает каждым правом.
Shredder-FEN устраняет эту неоднозначность, записывая букву вертикали соответствующей ладьи. Вертикаль является вертикальной линией с названием от a до h. Заглавные буквы представляют белые ладьи, а строчные буквы представляют чёрные. В стандартной начальной позиции HAha обозначает ладьи на вертикалях h и a обеих сторон.
Поле записывает права, а не возможность немедленно выполнить рокировку. Мешающие фигуры, атакованные поля или другие условия могут препятствовать ходу в текущей позиции, даже если право сохраняется. Дефис означает отсутствие всех прав на рокировку.
является другим соглашением, расширяющим FEN для Chess960. Поскольку эти две кодировки не тождественны, записывающая и читающая программы должны согласовать, какую из них используют.
Распространённые заблуждения
Shredder-FEN и X-FEN
Оба формата расширяют FEN для позиций Chess960, но кодируют права на рокировку по разным правилам.
Открыть терминПраво и немедленная возможность рокировки
Сохранение права не означает, что сейчас рокировка допустима. Позиция всё равно должна удовлетворять всем условиям хода.
Источники
- 1.Forsyth-Edwards Notation, Chess Programming Wiki
- 2.Core, python-chess 1.11.2 documentation
