X-Git-Url: https://git.auder.net/img/vendor/normalize.css?a=blobdiff_plain;f=base_rules.js;h=c0d9b60622b163464e3d2a6442b0b700c12d97c4;hb=b98feb3f6bb7e03319474f7a032e296750eb179f;hp=20ffbee4cdddfc6661f1c031782937800b289827;hpb=6bf2ab3498d5d469ea456b528c178dc481789b76;p=xogo.git diff --git a/base_rules.js b/base_rules.js index 20ffbee..c0d9b60 100644 --- a/base_rules.js +++ b/base_rules.js @@ -97,6 +97,14 @@ export default class ChessRules { return true; } + // Allow to take (moving: not disappearing) own pieces? + get hasSelfCaptures() { + return ( + this.options["recycle"] || + (this.options["teleport"] && this.subTurnTeleport == 1) + ); + } + get hasReserve() { return ( !!this.options["crazyhouse"] || @@ -1188,7 +1196,7 @@ export default class ChessRules { } pieces(color, x, y) { - const pawnShift = this.getPawnShift(color); + const pawnShift = this.getPawnShift(color || 'w'); return { 'p': { "class": "pawn", @@ -1720,10 +1728,7 @@ export default class ChessRules { }); Array.prototype.push.apply(squares, zenCaptures); } - if ( - this.options["recycle"] || - (this.options["teleport"] && this.subTurnTeleport == 1) - ) { + if (this.hasSelfCaptures) { const selfCaptures = this.findDestSquares( [x, y], {