X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=public%2Fjavascripts%2Fbase_rules.js;h=8f875e4f918d727d99a2e5e404c30703bc5f5f3b;hp=50766b07e79ceae5bc32eda696511058fc6de55c;hb=edcd679ab1fe609641451586ef1e9484925c4f83;hpb=d5dd0008aeca931c74645aa294b13fe2805ebfe8
diff --git a/public/javascripts/base_rules.js b/public/javascripts/base_rules.js
index 50766b07..8f875e4f 100644
--- a/public/javascripts/base_rules.js
+++ b/public/javascripts/base_rules.js
@@ -186,7 +186,8 @@ class ChessRules
// Argument is a move:
const move = moveOrSquare;
const [sx,sy,ex] = [move.start.x,move.start.y,move.end.x];
- if (move.appear[0].p == V.PAWN && Math.abs(sx - ex) == 2)
+ // TODO: next conditions are first for Atomic, and third for Checkered
+ if (move.appear.length > 0 && move.appear[0].p == V.PAWN && ["w","b"].includes(move.appear[0].c) && Math.abs(sx - ex) == 2)
{
return {
x: (sx + ex)/2,
@@ -1372,15 +1373,22 @@ class ChessRules
getPGN(mycolor, score, fenStart, mode)
{
let pgn = "";
- pgn += '[Site "vchess.club"]
';
+ pgn += '[Site "vchess.club"]\n';
const opponent = mode=="human" ? "Anonymous" : "Computer";
- pgn += '[Variant "' + variant + '"]
';
- pgn += '[Date "' + getDate(new Date()) + '"]
';
- pgn += '[White "' + (mycolor=='w'?'Myself':opponent) + '"]
';
- pgn += '[Black "' + (mycolor=='b'?'Myself':opponent) + '"]
';
- pgn += '[FenStart "' + fenStart + '"]
';
- pgn += '[Fen "' + this.getFen() + '"]
';
- pgn += '[Result "' + score + '"]
';
+ pgn += '[Variant "' + variant + '"]\n';
+ pgn += '[Date "' + getDate(new Date()) + '"]\n';
+ // TODO: later when users are a bit less anonymous, use better names
+ const whiteName = ["human","computer"].includes(mode)
+ ? (mycolor=='w'?'Myself':opponent)
+ : "analyze";
+ const blackName = ["human","computer"].includes(mode)
+ ? (mycolor=='b'?'Myself':opponent)
+ : "analyze";
+ pgn += '[White "' + whiteName + '"]\n';
+ pgn += '[Black "' + blackName + '"]\n';
+ pgn += '[FenStart "' + fenStart + '"]\n';
+ pgn += '[Fen "' + this.getFen() + '"]\n';
+ pgn += '[Result "' + score + '"]\n\n';
// Standard PGN
for (let i=0; i
";
+ pgn += "\n\n";
// "Complete moves" PGN (helping in ambiguous cases)
for (let i=0; i