Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Upsidedown.js
index 10bb83d..3149dae 100644 (file)
@@ -2,7 +2,8 @@ import { ChessRules } from "@/base_rules";
 import { randInt } from "@/utils/alea";
 import { ArrayFun } from "@/utils/array";
 
-export const VariantRules = class UpsidedownRules extends ChessRules {
+export class UpsidedownRules extends ChessRules {
+
   static get HasFlags() {
     return false;
   }
@@ -11,22 +12,13 @@ export const VariantRules = class UpsidedownRules extends ChessRules {
     return false;
   }
 
-  getPotentialKingMoves(sq) {
-    // No castle
-    return this.getSlideNJumpMoves(
-      sq,
-      V.steps[V.ROOK].concat(V.steps[V.BISHOP]),
-      "oneStep"
-    );
-  }
-
-  static GenRandInitFen(randomness) {
-    if (randomness == 0)
+  static GenRandInitFen(options) {
+    if (options.randomness == 0)
       return "RNBQKBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbqkbnr w 0";
 
     let pieces = { w: new Array(8), b: new Array(8) };
     for (let c of ["w", "b"]) {
-      if (c == 'b' && randomness == 1) {
+      if (c == 'b' && options.randomness == 1) {
         pieces['b'] = pieces['w'];
         break;
       }
@@ -78,11 +70,13 @@ export const VariantRules = class UpsidedownRules extends ChessRules {
       pieces["w"].join("").toUpperCase() +
       "/PPPPPPPP/8/8/8/8/pppppppp/" +
       pieces["b"].join("") +
+      // No castle, no en-passant:
       " w 0"
-    ); //no castle, no en-passant
+    );
   }
 
   static get SEARCH_DEPTH() {
     return 2;
   }
+
 };