X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FBaroque.js;h=74617cfbf1666cb8e674f087c6b99d8e78a3f46e;hb=2f8dce6a81063289d9d4cbca7971f80b1b194b84;hp=016f7b7badd99102744f3e7c98ecc89f1457c5ad;hpb=81a0b2a9c4ad66bf3243f89cc1f3c12cf016c4b8;p=vchess.git diff --git a/client/src/variants/Baroque.js b/client/src/variants/Baroque.js index 016f7b7b..74617cfb 100644 --- a/client/src/variants/Baroque.js +++ b/client/src/variants/Baroque.js @@ -293,12 +293,7 @@ export class BaroqueRules extends ChessRules { mergedMoves[key].vanish.push(m.vanish[i]); } }); - // Finally return an array - moves = []; - Object.keys(mergedMoves).forEach(k => { - moves.push(mergedMoves[k]); - }); - return moves; + return Object.values(mergedMoves); } addQueenCaptures(moves, byChameleon) { @@ -486,9 +481,10 @@ export class BaroqueRules extends ChessRules { V.OnBoard(i, j) && this.board[i][j] != V.EMPTY && this.getColor(i, j) == color && - this.getPiece(i, j) == V.BISHOP + this.getPiece(i, j) == V.BISHOP && + !this.isImmobilized([i, j]) ) { - return true; //bishops are never immobilized + return true; } } return false; @@ -532,26 +528,10 @@ export class BaroqueRules extends ChessRules { return false; } - static get VALUES() { - return { - p: 1, - r: 2, - n: 5, - b: 3, - q: 3, - m: 5, - k: 1000 - }; - } - - static get SEARCH_DEPTH() { - return 2; - } - static GenRandInitFen(randomness) { if (randomness == 0) // Deterministic: - return "rnbqkbnrm/pppppppp/8/8/8/8/PPPPPPPP/MNBKQBNR w 0"; + return "rnbkqbnm/pppppppp/8/8/8/8/PPPPPPPP/MNBQKBNR w 0"; let pieces = { w: new Array(8), b: new Array(8) }; // Shuffle pieces on first and last rank @@ -574,6 +554,22 @@ export class BaroqueRules extends ChessRules { ); } + static get VALUES() { + return { + p: 1, + r: 2, + n: 5, + b: 3, + q: 3, + m: 5, + k: 1000 + }; + } + + static get SEARCH_DEPTH() { + return 2; + } + getNotation(move) { const initialSquare = V.CoordsToSquare(move.start); const finalSquare = V.CoordsToSquare(move.end);