function compressFEN(fen) {
let compressedFEN = [];
let pieces = fen.split(' ')[0].split('/');
for (let i = 0; i < pieces.length; i++) {
let row = pieces[i].split('');
for (let j = 0; j < row.length; j++) {
let pieceCode = getPieceCode(row[j]);
if (isNaN(row[j])) {
compressedFEN.push(pieceCode);
}
}
}
console.log({compressedFEN})
compressedFEN.push(0b1111);
for (let i = 0; i < pieces.length; i++) {
let row = pieces[i].split('');
row.forEach((e,i)=>isNaN(e)?e:row[i]="1".repeat(e).split(''));
row = row.flat();
for (let j = 0; j < row.length; j++) {
let cellCode = getCellCode(i, j);
console.log({i,j, piece: row[j], cellCode})
if (isNaN(row[j])) {
compressedFEN.push(cellCode);
}
}
}
return compressedFEN;
}