From: Benjamin Auder Date: Thu, 7 Jul 2022 20:57:01 +0000 (+0200) Subject: Fix Bario X-Git-Url: https://git.auder.net/doc/html/vendor/DESCRIPTION?a=commitdiff_plain;h=74d30010ee6952632b8c6676c1fefb446c541707;p=xogo.git Fix Bario --- diff --git a/variants/Bario/class.js b/variants/Bario/class.js index 6a44834..871a537 100644 --- a/variants/Bario/class.js +++ b/variants/Bario/class.js @@ -200,7 +200,7 @@ export default class BarioRules extends ChessRules { postPlay(move) { const color = this.turn; - if (this.movesCount <= 1 || move.reset) { + if (this.movesCount <= 1 || move.reset || move.next) { this.tryChangeTurn(); return; } @@ -228,12 +228,13 @@ export default class BarioRules extends ChessRules { } } - // NOTE: not "try" here, we know the turn changes (TODO?) tryChangeTurn(move, captureUndef) { - this.definition = null; - this.subTurn = captureUndef ? 0 : 1; - this.turn = C.GetOppCol(this.turn); - this.movesCount++; + if (!move.next) { + this.definition = null; + this.subTurn = captureUndef ? 0 : 1; + this.turn = C.GetOppCol(this.turn); + this.movesCount++; + } } computeNextMove(move) { @@ -242,7 +243,7 @@ export default class BarioRules extends ChessRules { this.board.some(row => row.some(cell => cell.charAt(0) == this.turn && cell.charAt(1) == 'u')) ) { - return null; + return; } const variety = (c) => { return ( @@ -257,26 +258,29 @@ export default class BarioRules extends ChessRules { )].length >= 2 ); }; - this.playOnBoard(move); let next = {start: move.end, end: move.end, vanish: [], appear: []}; - for (let c of ['w', 'b']) { - if (variety(c)) { - for (let i=0; i twoOrMorePieces[k]); + if (resetCols.length >= 1) { + for (let i=0; i= 1) {