1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 01:03:09 +00:00

Reformat FEN construction

Simplify and shrink code.

No functional change.
This commit is contained in:
Marco Costalba 2013-01-04 12:32:13 +01:00
parent 193741218c
commit 9d1151575d

View file

@ -331,32 +331,25 @@ void Position::set_castle_right(Color c, Square rfrom) {
const string Position::fen() const { const string Position::fen() const {
std::ostringstream ss; std::ostringstream ss;
Square sq;
int emptyCnt;
for (Rank rank = RANK_8; rank >= RANK_1; rank--) for (Rank rank = RANK_8; rank >= RANK_1; rank--)
{ {
emptyCnt = 0;
for (File file = FILE_A; file <= FILE_H; file++) for (File file = FILE_A; file <= FILE_H; file++)
{ {
sq = file | rank; Square sq = file | rank;
if (is_empty(sq)) if (is_empty(sq))
emptyCnt++;
else
{ {
if (emptyCnt > 0) int emptyCnt = 1;
{
ss << emptyCnt;
emptyCnt = 0;
}
ss << PieceToChar[piece_on(sq)];
}
}
if (emptyCnt > 0) for ( ; file < FILE_H && is_empty(sq++); file++)
ss << emptyCnt; emptyCnt++;
ss << emptyCnt;
}
else
ss << PieceToChar[piece_on(sq)];
}
if (rank > RANK_1) if (rank > RANK_1)
ss << '/'; ss << '/';