X-Git-Url: https://git.auder.net/?p=xogo.git;a=blobdiff_plain;f=variants%2FAntiking2%2Fclass.js;h=ee1030ac3c0d82cd7dc23355862314d6bb08a36d;hp=0e6a3e567ae212a6f2e9d86b85caf0e6275ea91a;hb=f3e90e30b6e7ff416afe288bc9dd865e5daf9860;hpb=a548cb4e3ad8099e977da9bb4a4184973beb56e3 diff --git a/variants/Antiking2/class.js b/variants/Antiking2/class.js index 0e6a3e5..ee1030a 100644 --- a/variants/Antiking2/class.js +++ b/variants/Antiking2/class.js @@ -1,15 +1,12 @@ import ChessRules from "/base_rules.js"; -import AbstractAntikingRules from "/variants/AbstractAntiking.js"; -import { Random } from "/utils/alea.js"; +import AbstractAntikingRules from "/variants/_Antiking/class.js"; +import {Random} from "/utils/alea.js"; -export class Antiking2Rules extends AbstractAntikingRules { - - static get Aliases() { - return Object.assign({'A': AbstractAntikingRules}, ChessRules.Aliases); - } +export default class Antiking2Rules extends AbstractAntikingRules { static get Options() { return { + select: C.Options.select, styles: A.Options.styles.concat("cylinder") }; } @@ -25,9 +22,19 @@ export class Antiking2Rules extends AbstractAntikingRules { else akPos[1] = akPos[0]; } - const whiteLine = (akPos[0] > 0 ? akPos[0] : "") + 'A' + (akPos < this.size.y - 1 ? ...); - const blackLine = ... - return baseFen.replace(...) + const antikingLine = (color) => { + const [idx, symbol] = (color == 'w' ? [0, 'a'] : [1, 'A']); + return ( + (akPos[idx] > 0 ? akPos[idx] : "") + symbol + + (akPos[idx] < this.size.y - 1 + ? C.FenEmptySquares(this.size.y - 1 - akPos[idx]) + : "") + ); + }; + return ( + baseFen.replace("p/8", "p/" + antikingLine('b')) + .replace("8/P", antikingLine('w') + "/P") + ); } };