X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=variants%2FBenedict%2Fclass.js;h=e6542c47619299845b5c6050dabf4e23c6da3409;hb=33b427488bb6ee5c505c3a024bccedbef763f80e;hp=dfabddb72cc9a41efa3ef78026d78f43e8340a35;hpb=7bd7cba41f9c2222a29c62ddf8d83fbb46646a1d;p=xogo.git diff --git a/variants/Benedict/class.js b/variants/Benedict/class.js index dfabddb..e6542c4 100644 --- a/variants/Benedict/class.js +++ b/variants/Benedict/class.js @@ -1,7 +1,7 @@ -import ChessRules from "/base_rules.js"; +import AbstractFlipRules from "/variants/_Flip/class.js"; import PiPo from "/utils/PiPo.js"; -export default class BenedictRules extends ChessRules { +export default class BenedictRules extends AbstractFlipRules { static get Options() { return { @@ -25,14 +25,6 @@ export default class BenedictRules extends ChessRules { }; } - get hasEnpassant() { - return false; - } - - canTake() { - return false; - } - pieces(color, x, y) { if (!this.options["cleopatra"]) return super.pieces(color, x, y); @@ -82,38 +74,4 @@ export default class BenedictRules extends ChessRules { return bMoves; } - playOnBoard(move) { - super.playOnBoard(move); - this.flipColorOf(move.flips); - } - undoOnBoard(move) { - super.undoOnBoard(move); - this.flipColorOf(move.flips); - } - - flipColorOf(flips) { - for (let xy of flips) { - const newColor = C.GetOppCol(this.getColor(xy.x, xy.y)); - this.board[xy.x][xy.y] = newColor + this.board[xy.x][xy.y][1]; - } - } - - // Moves cannot flip our king's color, so all are valid - filterValid(moves) { - return moves; - } - - // A king under (regular) check flips color, and the game is over. - underCheck() { - return false; - } - - playVisual(move, r) { - super.playVisual(move, r); - move.flips.forEach(f => { - this.g_pieces[f.x][f.y].classList.toggle("white"); - this.g_pieces[f.x][f.y].classList.toggle("black"); - }); - } - };