Cleaner fen generation + first draft of Apocalypse + a few fixes
[xogo.git] / variants / Align4 / class.js
index b7b0c4a..4c191db 100644 (file)
@@ -24,25 +24,24 @@ export default class Align4Rules extends ChessRules {
     return false;
   }
 
-  genRandInitFen(seed) {
-    const baseFen = super.genRandInitFen(seed);
-    return "4k3/8" + baseFen.substring(17, 50) + " -"; //TODO: + flags 1188
+  genRandInitBaseFen() {
+    let baseFen = super.genRandInitBaseFen();
+    return { fen: baseFen.fen.replace("rnbqkbnr/pppppppp", "4k3/8"), o: {} };
   }
 
-  setOtherVariables(fenParsed) {
-    super.setOtherVariables(fenParsed);
+  getPartFen(o) {
+    let parts = super.getPartFen(o);
+    parts["flags"] = parts["flags"].substr(0, 2) + "88";
+    return parts;
+  }
+
+  initReserves() {
     this.reserve = { b: { p: 1 } };
   }
 
   // Just do not update any reserve (infinite supply)
   updateReserve() {}
 
-  getCastleMoves([x, y]) {
-    if (this.GetColor(x, y) == 'b')
-      return [];
-    return super.getCastleMoves([x, y]);
-  }
-
   getCurrentScore(move) {
     const score = super.getCurrentScore(move);
     if (score != "*")