+ // Decode if normal piece, or + bishop or knight
+ getPiece(i, j) {
+ const piece = this.board[i][j].charAt(1);
+ if (ChessRules.PIECES.includes(piece)) return piece;
+ // Augmented piece:
+ switch (piece) {
+ case 'a':
+ case 'c':
+ return 'b';
+ case 'j':
+ case 'l':
+ return 'k';
+ case 'm':
+ case 'o':
+ return 'n';
+ case 's':
+ case 't':
+ return 'q';
+ case 'u':
+ case 'v':
+ return 'r';
+ }
+ }
+
+ // TODO: subtelty, castle forbidden if