X-Git-Url: https://git.auder.net/assets/current/git-favicon.png?a=blobdiff_plain;f=variants%2FHex%2Fclass.js;h=05200bed65b11ed9599c02c21999c62965f7309c;hb=296f846a620c361b3fe4e61f6bb369adc361d312;hp=80d45019e2b8b86a94603b3dc95cc7ae4c4e2162;hpb=5abaabb3061f9c2927e2204a33a58c309f3a0082;p=xogo.git diff --git a/variants/Hex/class.js b/variants/Hex/class.js index 80d4501..05200be 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 { @@ -66,7 +66,7 @@ export default class HexRules extends ChessRules { new PiPo({ x: coords.x, y: coords.y, - c: C.GetOppCol(this.turn), + c: C.GetOppTurn(this.turn), p: 'p' }) ); @@ -74,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 - 1) + emptyCount, + o: {} + }; } getSvgChessboard() { @@ -150,23 +153,10 @@ 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")); - }); - } - };