From: Benjamin Auder <benjamin.auder@somewhere>
Date: Tue, 4 Dec 2018 22:57:30 +0000 (+0100)
Subject: Fix initial knights+camels position in Wildebeest
X-Git-Url: https://git.auder.net/variants/Apocalypse/scripts/current/pieces/doc/%24%7BgetWhatsApp%28link%29%7D?a=commitdiff_plain;h=dca02599df6394b339fd8adb90dc80d06b6620ee;p=vchess.git

Fix initial knights+camels position in Wildebeest
---

diff --git a/public/javascripts/variants/Wildebeest.js b/public/javascripts/variants/Wildebeest.js
index 28f74d94..c557a2e8 100644
--- a/public/javascripts/variants/Wildebeest.js
+++ b/public/javascripts/variants/Wildebeest.js
@@ -188,35 +188,29 @@ class WildebeestRules extends ChessRules
 		{
 			let positions = _.range(11);
 
-			// Get random squares for bishops
-			let randIndex = 2 * _.random(5);
-			let bishop1Pos = positions[randIndex];
-			// The second bishop must be on a square of different color
-			let randIndex_tmp = 2 * _.random(4) + 1;
-			let bishop2Pos = positions[randIndex_tmp];
+			// Get random squares for bishops + camels (different colors)
+			let randIndexes = _.sample(_.range(6), 2).map(i => { return 2*i; });
+			let bishop1Pos = positions[randIndexes[0]];
+			let camel1Pos = positions[randIndexes[1]];
+			// The second bishop (camel) must be on a square of different color
+			let randIndexes_tmp = _.sample(_.range(5), 2).map(i => { return 2*i+1; });
+			let bishop2Pos = positions[randIndexes_tmp[0]];
+			let camel2Pos = positions[randIndexes_tmp[1]];
 			// Remove chosen squares
-			positions.splice(Math.max(randIndex,randIndex_tmp), 1);
-			positions.splice(Math.min(randIndex,randIndex_tmp), 1);
+			for (let idx of randIndexes.concat(randIndexes_tmp).sort((a,b) => { return b-a; }))
+				positions.splice(idx, 1);
 
 			// Get random squares for knights
-			randIndex = _.random(8);
+			let randIndex = _.random(6);
 			let knight1Pos = positions[randIndex];
 			positions.splice(randIndex, 1);
-			randIndex = _.random(7);
+			randIndex = _.random(5);
 			let knight2Pos = positions[randIndex];
 			positions.splice(randIndex, 1);
 
 			// Get random square for queen
-			randIndex = _.random(6);
-			let queenPos = positions[randIndex];
-			positions.splice(randIndex, 1);
-
-			// ...random square for camels
-			randIndex = _.random(5);
-			let camel1Pos = positions[randIndex];
-			positions.splice(randIndex, 1);
 			randIndex = _.random(4);
-			let camel2Pos = positions[randIndex];
+			let queenPos = positions[randIndex];
 			positions.splice(randIndex, 1);
 
 			// ...random square for wildebeest
diff --git a/public/stylesheets/variant.sass b/public/stylesheets/variant.sass
index 73181854..aa3abb90 100644
--- a/public/stylesheets/variant.sass
+++ b/public/stylesheets/variant.sass
@@ -20,6 +20,10 @@
 #pgn-div > p
   cursor: pointer
 
+#fen-div > p
+  margin-left: 0
+  margin-right: 0
+
 .warn
   padding: 3px
   color: red