X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=variants%2FHex%2Fclass.js;h=b82af417a74311f418e0f631a5fa9f2c46a9f564;hb=eceb02f712e49d6c8b2fa90691c93161ca015248;hp=8721227f7ef266480fdbfeddc489a2e87a328329;hpb=ca8a399316d2496c069ea9c6ccf2dc241aeb70ef;p=xogo.git diff --git a/variants/Hex/class.js b/variants/Hex/class.js index 8721227..b82af41 100644 --- a/variants/Hex/class.js +++ b/variants/Hex/class.js @@ -1,8 +1,8 @@ -import ChessRules from "/base_rules.js"; +import AbstractClickFillRules from "/variants/_ClickFill/class.js"; import PiPo from "/utils/PiPo.js"; import Move from "/utils/Move.js"; -export default class HexRules extends ChessRules { +export default class HexRules extends AbstractClickFillRules { static get Options() { return { @@ -35,6 +35,9 @@ export default class HexRules extends ChessRules { get noAnimate() { return true; } + get clickOnly() { + return true; + } doClick(coords) { if ( @@ -71,10 +74,13 @@ export default class HexRules extends ChessRules { return res; } - genRandInitFen() { + genRandInitBaseFen() { // NOTE: size.x == size.y (square boards) const emptyCount = C.FenEmptySquares(this.size.x); - return (emptyCount + "/").repeat(this.size.x).slice(0, -1) + " w 0"; + return { + fen: (emptyCount + "/").repeat(this.size.x).slice(0, -1) + " w 0", + o: {} + }; } getSvgChessboard() { @@ -147,22 +153,11 @@ export default class HexRules extends ChessRules { return board; } - setupPieces() { - for (let i=0; i { - let elt = document.getElementById(this.coordsToId({x: v.x, y: v.y})); - elt.classList.remove("bg-" + (v.c == 'w' ? "white" : "black")); - }); - move.appear.forEach(a => { - let elt = document.getElementById(this.coordsToId({x: a.x, y: a.y})); - elt.classList.add("bg-" + (a.c == 'w' ? "white" : "black")); - }); - } - };