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