// The score is already computed when calling this function
getPGN(mycolor, score, fenStart, mode)
{
+ const zeroPad = x => { return (x<10 ? "0" : "") + x; };
let pgn = "";
pgn += '[Site "vchess.club"]<br>';
const d = new Date();
const opponent = mode=="human" ? "Anonymous" : "Computer";
pgn += '[Variant "' + variant + '"]<br>';
- pgn += '[Date "' + d.getFullYear() + '-' + (d.getMonth()+1) + '-' + d.getDate() + '"]<br>';
+ pgn += '[Date "' + d.getFullYear() + '-' + (d.getMonth()+1) + '-' + zeroPad(d.getDate()) + '"]<br>';
pgn += '[White "' + (mycolor=='w'?'Myself':opponent) + '"]<br>';
pgn += '[Black "' + (mycolor=='b'?'Myself':opponent) + '"]<br>';
- pgn += '[Fen "' + fenStart + '"]<br>';
+ pgn += '[FenStart "' + fenStart + '"]<br>';
+ pgn += '[Fen "' + this.getFen() + '"]<br>';
pgn += '[Result "' + score + '"]<br><br>';
// Standard PGN
pgn += ((i/2)+1) + ".";
pgn += this.moves[i].notation[0] + " ";
}
- pgn += score + "<br><br>";
+ pgn += "<br><br>";
// "Complete moves" PGN (helping in ambiguous cases)
for (let i=0; i<this.moves.length; i++)
pgn += ((i/2)+1) + ".";
pgn += this.moves[i].notation[1] + " ";
}
- pgn += score;
return pgn;
}