Generalize pawn movements: cleaner and smaller code
[vchess.git] / client / src / variants / Upsidedown.js
index 2260b67..2076824 100644 (file)
@@ -2,22 +2,17 @@ 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) {
@@ -81,4 +76,8 @@ export const VariantRules = class UpsidedownRules extends ChessRules {
       " w 0"
     ); //no castle, no en-passant
   }
+
+  static get SEARCH_DEPTH() {
+    return 2;
+  }
 };