Научился: Подготовил FEN для тестирования;
Дописал функцию Chess().YieldValidMoves();
Реализовал функции IsCheckAfterMove(), CanEatKing(), FindBadKing() и IsCheck() в классе Board();
Доработал функцию Moves().CanKingCastle();
Создал конструктор FigureMoving() для пустого хода;
Протестировал работу до мата. Трудности: Ничего. Ждем большого тестирования =)
Научился: Оказалось, что проверка на шах ломает введённое копирование параметров из board в nextBoard, так что пока вернул ресурсоёмкую генерацию всех параметров при пересоздании доски, но позже вернусь к этому вопросу.
Ещё нашёл и исправил ошибку с упущенными скобками, которые не позволяли ладье совершить рокировку. Ничто так не позволяет понять строение проекта, как дебаггинг :)