X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FSpartan.js;fp=client%2Fsrc%2Fvariants%2FSpartan.js;h=3b4fc7714ba6ea828a041f4de2723203dbe6533a;hp=5b0ccecb8a53c0686cdd1553b0b2a4511086212c;hb=26580d874deaea68cfb1b926549b1ee2720e9ec9;hpb=f5cd0fb81ec9bd790d812c9ad02587e50427fcdf diff --git a/client/src/variants/Spartan.js b/client/src/variants/Spartan.js index 5b0ccecb..3b4fc771 100644 --- a/client/src/variants/Spartan.js +++ b/client/src/variants/Spartan.js @@ -398,4 +398,26 @@ export class SpartanRules extends ChessRules { return 2; } + getNotation(move) { + const piece = this.getPiece(move.start.x, move.start.y); + if (piece == V.PAWN) { + // Pawn move + const finalSquare = V.CoordsToSquare(move.end); + let notation = ""; + if (move.vanish.length == 2) + // Capture + notation = "Px" + finalSquare; + else { + // No capture: indicate the initial square for potential ambiguity + const startSquare = V.CoordsToSquare(move.start); + notation = startSquare + finalSquare; + } + if (move.appear[0].p != V.PAWN) + // Promotion + notation += "=" + move.appear[0].p.toUpperCase(); + return notation; + } + return super.getNotation(move); //OK for all other pieces + } + };