+ fen += (sideToMove == WHITE ? 'w' : 'b') + ' ';
+ if (castleRights != NO_CASTLES)
+ {
+ if (can_castle_kingside(WHITE)) fen += 'K';
+ if (can_castle_queenside(WHITE)) fen += 'Q';
+ if (can_castle_kingside(BLACK)) fen += 'k';
+ if (can_castle_queenside(BLACK)) fen += 'q';
+ } else
+ fen += '-';
+
+ fen += ' ';
+ if (ep_square() != SQ_NONE)
+ fen += square_to_string(ep_square());
+ else
+ fen += '-';