Fix mistake in Grand variant (same as in Crazyhouse before)
[vchess.git] / public / javascripts / variants / Grand.js
index ec2afd8..4271a69 100644 (file)
@@ -18,10 +18,13 @@ class GrandRules extends ChessRules
                return true;
        }
 
-       static GenRandInitFen()
+       static ParseFen(fen)
        {
-               const fen = ChessRules.GenRandInitFen();
-               return fen.replace(" w 1111", " w 1111 0000000000");
+               const fenParts = fen.split(" ");
+               return Object.assign(
+                       ChessRules.ParseFen(fen),
+                       { captured: fenParts[4] }
+               );
        }
 
        getFen()
@@ -32,7 +35,7 @@ class GrandRules extends ChessRules
        getCapturedFen()
        {
                let counts = _.map(_.range(10), 0);
-               for (let i=0; i<V.PIECES.length; i++)
+               for (let i=0; i<V.PIECES.length-1; i++) //-1: no king captured
                {
                        counts[i] = this.captured["w"][V.PIECES[i]];
                        counts[5+i] = this.captured["b"][V.PIECES[i]];
@@ -355,7 +358,7 @@ class GrandRules extends ChessRules
                return pieces["b"].join("") +
                        "/pppppppppp/10/10/10/10/10/10/PPPPPPPPPP/" +
                        pieces["w"].join("").toUpperCase() +
-                       " w 1111 -";
+                       " w 1111 - 0000000000";
        }
 }