Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Suction.js
index 7fff939..77aef39 100644 (file)
@@ -2,6 +2,7 @@ import { ChessRules, PiPo, Move } from "@/base_rules";
 import { SuicideRules } from "@/variants/Suicide";
 
 export class SuctionRules extends ChessRules {
+
   static get PawnSpecs() {
     return Object.assign(
       {},
@@ -148,9 +149,9 @@ export class SuctionRules extends ChessRules {
     });
   }
 
-  static GenRandInitFen(randomness) {
+  static GenRandInitFen(options) {
     // Add empty cmove:
-    return SuicideRules.GenRandInitFen(randomness) + " -";
+    return SuicideRules.GenRandInitFen(options) + " -";
   }
 
   getCmoveFen() {
@@ -173,20 +174,16 @@ export class SuctionRules extends ChessRules {
 
   postPlay(move) {
     super.postPlay(move);
-    if (move.vanish.length == 2) {
-      // Was opponent king swapped?
-      if (move.vanish[1].p == V.KING)
-        this.kingPos[this.turn] = [move.appear[1].x, move.appear[1].y];
-    }
+    // Was opponent king swapped?
+    if (move.vanish.length == 2 && move.vanish[1].p == V.KING)
+      this.kingPos[this.turn] = [move.appear[1].x, move.appear[1].y];
     this.cmoves.push(this.getCmove(move));
   }
 
   postUndo(move) {
     super.postUndo(move);
-    if (move.appear.length == 2) {
-      if (move.appear[1].p == V.KING)
-        this.kingPos[move.vanish[1].c] = [move.vanish[1].x, move.vanish[1].y];
-    }
+    if (move.appear.length == 2 && move.appear[1].p == V.KING)
+      this.kingPos[move.vanish[1].c] = [move.vanish[1].x, move.vanish[1].y];
     this.cmoves.pop();
   }
 
@@ -235,4 +232,5 @@ export class SuctionRules extends ChessRules {
       finalSquare
     );
   }
+
 };