}
var fen = '';
+ let num_empty = 0;
var currentRow = 8;
for (var i = 0; i < 8; i++) {
// piece exists
if (obj.hasOwnProperty(square) === true) {
+ if (num_empty > 0) {
+ fen += num_empty;
+ num_empty = 0;
+ }
fen += pieceCodeToFen(obj[square]);
}
// empty space
else {
- fen += '1';
+ ++num_empty;
}
}
if (i !== 7) {
+ if (num_empty > 0) {
+ fen += num_empty;
+ num_empty = 0;
+ }
fen += '/';
}
currentRow--;
}
- // squeeze the numbers together
- // haha, I love this solution...
- fen = fen.replace(/11111111/g, '8');
- fen = fen.replace(/1111111/g, '7');
- fen = fen.replace(/111111/g, '6');
- fen = fen.replace(/11111/g, '5');
- fen = fen.replace(/1111/g, '4');
- fen = fen.replace(/111/g, '3');
- fen = fen.replace(/11/g, '2');
-
return fen;
}