Work on Eightpieces draft. Fix Grand deterministic initial position
[vchess.git] / client / src / variants / Recycle.js
index d99228c..e31badb 100644 (file)
@@ -14,18 +14,27 @@ export const VariantRules = class RecycleRules extends ChessRules {
   static ParseFen(fen) {
     const fenParts = fen.split(" ");
     return Object.assign(ChessRules.ParseFen(fen), {
-      reserve: fenParts[5],
+      reserve: fenParts[5]
     });
   }
 
-  static GenRandInitFen() {
-    return ChessRules.GenRandInitFen() + " 0000000000";
+  getEpSquare(moveOrSquare) {
+    if (typeof moveOrSquare !== "object" || moveOrSquare.vanish.length > 0)
+      return super.getEpSquare(moveOrSquare);
+    // Landing move: no en-passant
+    return undefined;
+  }
+
+  static GenRandInitFen(randomness) {
+    return ChessRules.GenRandInitFen(randomness) + " 0000000000";
   }
 
   getFen() {
-    return (
-      super.getFen() + " " + this.getReserveFen()
-    );
+    return super.getFen() + " " + this.getReserveFen();
+  }
+
+  getFenForRepeat() {
+    return super.getFenForRepeat() + "_" + this.getReserveFen();
   }
 
   getReserveFen() {
@@ -74,7 +83,7 @@ export const VariantRules = class RecycleRules extends ChessRules {
   }
 
   // Used by the interface:
-  getReservePpath(color, index) {
+  getReservePpath(index, color) {
     return color + V.RESERVE_PIECES[index];
   }