Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Alapo.js
index b3c466e..2d2a790 100644 (file)
@@ -34,16 +34,14 @@ export class AlapoRules extends ChessRules {
   }
 
   getPotentialMinirookMoves(sq) {
-    return super.getSlideNJumpMoves(sq, V.steps[V.ROOK], "oneStep");
+    return super.getSlideNJumpMoves(sq, V.steps[V.ROOK], 1);
   }
   getPotentialMinibishopMoves(sq) {
-    return super.getSlideNJumpMoves(sq, V.steps[V.BISHOP], "oneStep");
+    return super.getSlideNJumpMoves(sq, V.steps[V.BISHOP], 1);
   }
   getPotentialMiniqueenMoves(sq) {
-    return (
-      super.getSlideNJumpMoves(
-        sq, V.steps[V.ROOK].concat(V.steps[V.BISHOP]), "oneStep")
-    );
+    return super.getSlideNJumpMoves(
+      sq, V.steps[V.ROOK].concat(V.steps[V.BISHOP]), 1);
   }
 
   getPotentialMovesFrom(sq) {
@@ -68,8 +66,8 @@ export class AlapoRules extends ChessRules {
     return "Alapo/" + b + suffix;
   }
 
-  static GenRandInitFen(randomness) {
-    if (randomness == 0)
+  static GenRandInitFen(options) {
+    if (options.randomness == 0)
       return "rbqqbr/tcssct/6/6/TCSSCT/RBQQBR w 0";
 
     const piece2pawn = {
@@ -81,7 +79,7 @@ export class AlapoRules extends ChessRules {
     let pieces = { w: new Array(6), b: new Array(6) };
     // Shuffle pieces on first (and last rank if randomness == 2)
     for (let c of ["w", "b"]) {
-      if (c == 'b' && randomness == 1) {
+      if (c == 'b' && options.randomness == 1) {
         pieces['b'] = pieces['w'];
         break;
       }
@@ -115,11 +113,12 @@ export class AlapoRules extends ChessRules {
       pieces[c][bishop2Pos] = "b";
       pieces[c][rook2Pos] = "r";
     }
+
     return (
       pieces["b"].join("") + "/" +
-      pieces["b"].map(p => piece2pawn[p]).join() +
-      "/8/8/8/8/" +
-      pieces["w"].map(p => piece2pawn[p].toUpperCase()).join() + "/" +
+      pieces["b"].map(p => piece2pawn[p]).join("") +
+      "/6/6/" +
+      pieces["w"].map(p => piece2pawn[p].toUpperCase()).join("") + "/" +
       pieces["w"].join("").toUpperCase() +
       " w 0"
     );