Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Horde.js
index aac4d27..a54b509 100644 (file)
@@ -1,6 +1,19 @@
 import { ChessRules } from "@/base_rules";
 
 export class HordeRules extends ChessRules {
+
+  static get Options() {
+    return {
+      check: [
+        {
+          label: "Random",
+          defaut: false,
+          variable: "random"
+        }
+      ]
+    };
+  }
+
   static get HasFlags() {
     return false;
   }
@@ -24,7 +37,7 @@ export class HordeRules extends ChessRules {
           }
           sumElts++;
         } else {
-          const num = parseInt(row[i]);
+          const num = parseInt(row[i], 10);
           if (isNaN(num)) return false;
           sumElts += num;
         }
@@ -35,9 +48,9 @@ export class HordeRules extends ChessRules {
     return true;
   }
 
-  static GenRandInitFen(randomness) {
-    if (randomness == 2) randomness--;
-    const fen = ChessRules.GenRandInitFen(randomness);
+  static GenRandInitFen(options) {
+    const fen =
+      ChessRules.GenRandInitFen({ randomness: (options.random ? 1 : 0) });
     return (
       // 20 first chars are 3 rows + 3 slashes
       fen.substr(0, 20)
@@ -80,4 +93,5 @@ export class HordeRules extends ChessRules {
     // From black side, just run usual checks:
     return super.getCurrentScore();
   }
+
 };