Generalize pawn movements: cleaner and smaller code
[vchess.git] / client / src / variants / Upsidedown.js
index 44dab7f..2076824 100644 (file)
@@ -2,26 +2,20 @@ 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;
   }
 
-  static get HasEnpassant() {
+  static get HasCastle() {
     return false;
   }
 
-  getPotentialKingMoves(sq) {
-    // No castle
-    return this.getSlideNJumpMoves(
-      sq,
-      V.steps[V.ROOK].concat(V.steps[V.BISHOP]),
-      "oneStep"
-    );
+  static get HasEnpassant() {
+    return false;
   }
 
   static GenRandInitFen(randomness) {
-    if (!randomness) randomness = 2;
     if (randomness == 0)
       return "RNBQKBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbqkbnr w 0";
 
@@ -82,4 +76,8 @@ export const VariantRules = class UpsidedownRules extends ChessRules {
       " w 0"
     ); //no castle, no en-passant
   }
+
+  static get SEARCH_DEPTH() {
+    return 2;
+  }
 };