Draft Bario (unfinished)
[xogo.git] / variants / Hex / class.js
index 0797c91..774de17 100644 (file)
@@ -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 {
@@ -78,7 +78,7 @@ export default class HexRules extends ChessRules {
     // NOTE: size.x == size.y (square boards)
     const emptyCount = C.FenEmptySquares(this.size.x);
     return {
-      fen: (emptyCount + "/").repeat(this.size.x).slice(0, -1) + " w 0",
+      fen: (emptyCount + "/").repeat(this.size.x - 1) + emptyCount,
       o: {}
     };
   }
@@ -153,19 +153,6 @@ export default class HexRules extends ChessRules {
     return board;
   }
 
-  setupPieces() {
-    for (let i=0; i<this.size.x; i++) {
-      for (let j=0; j<this.size.y; j++) {
-        if (this.board[i][j] != "") {
-          const sqColor = (this.getColor(i, j) == 'w' ? "white" : "black");
-          const elt = document.getElementById(this.coordsToId({x: i, y: j}));
-          elt.classList.remove("neutral-square");
-          elt.classList.add("bg-" + sqColor);
-        }
-      }
-    }
-  }
-
   get size() {
     const baseRatio = 1.6191907514450865; //2801.2 / 1730, "widescreen"
     const rc =
@@ -184,7 +171,7 @@ export default class HexRules extends ChessRules {
     this.turn = C.GetOppCol(this.turn);
   }
 
-  getCurrentScore(move) {
+  getCurrentScore() {
     const oppCol = C.GetOppCol(this.turn);
     // Search for connecting path of opp color:
     let explored = {}, component;
@@ -228,15 +215,4 @@ export default class HexRules extends ChessRules {
     return "*";
   }
 
-  playVisual(move) {
-    move.vanish.forEach(v => {
-      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"));
-    });
-  }
-
 };