+
+ postUndo(move) {
+ // (Potentially) Reset king position
+ for (let v of move.vanish)
+ if (v.p == V.KING) this.kingPos[v.c] = [v.x, v.y];
+ }
+
+ getNotation(move) {
+ if (move.start.x < 0)
+ // A second move is always required, but may be empty
+ return "-";
+ const initialSquare = V.CoordsToSquare(move.start);
+ const finalSquare = V.CoordsToSquare(move.end);
+ if (move.appear.length == 0)
+ // Pushed or pulled out of the board
+ return initialSquare + "R";
+ return move.appear[0].p.toUpperCase() + initialSquare + finalSquare;
+ }