Fix Fullcavalry: lancers' initial orientation
authorBenjamin Auder <benjamin.auder@somewhere>
Sun, 6 Dec 2020 10:26:48 +0000 (11:26 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Sun, 6 Dec 2020 10:26:48 +0000 (11:26 +0100)
client/src/translations/rules/Fullcavalry/en.pug
client/src/translations/rules/Fullcavalry/es.pug
client/src/translations/rules/Fullcavalry/fr.pug
client/src/variants/Fullcavalry.js

index 9811036..b5fe410 100644 (file)
@@ -8,7 +8,7 @@ p
   | .
 
 p.
-  Lancers are initially facing each other.
+  Lancers begin aimed toward their destination square of castling.
   They can be reoriented after castling, if they effectively moved.
   While castling, some pieces can stand on the lancer's path,
   since it can jump over them.
index 2067a1d..449f2b6 100644 (file)
@@ -8,7 +8,7 @@ p
   | .
 
 p.
-  Los Lancers inicialmente se enfrentan entre sí.
+  Los lanceros inicialmente apuntan su casilla de destino al final del enroque.
   Se pueden reorientar después del enroque, si realmente se movieron.
   Durante el enroque, se pueden encontrar piezas en el camino de la lanza,
   ya que puede saltarlo.
index e92a1af..b1662ff 100644 (file)
@@ -8,7 +8,7 @@ p
   | .
 
 p.
-  Les lanciers se font initialement face.
+  Les lanciers visent initialement leur case de destination en fin de roque.
   Ils peuvent être réorientés après le roque, s'ils ont effectivement bougé.
   Pendant le roque, des pièces peuvent se trouver sur le chemin du lancier,
   puisqu'il peut sauter par dessus.
index 672ebc8..7397261 100644 (file)
@@ -100,10 +100,14 @@ export class FullcavalryRules extends ChessRules {
           firstWhiteRook = baseFen.indexOf('R'),
           lastWhiteRook = baseFen.lastIndexOf('R');
     return (
-      baseFen.substring(0, firstBlackRook) + 'e' +
-      baseFen.substring(firstBlackRook + 1, lastBlackRook) + 'm' +
-      baseFen.substring(lastBlackRook + 1, firstWhiteRook) + 'E' +
-      baseFen.substring(firstWhiteRook + 1, lastWhiteRook) + 'M' +
+      baseFen.substring(0, firstBlackRook) +
+        (firstBlackRook <= 3 ? 'e' : 'm') +
+      baseFen.substring(firstBlackRook + 1, lastBlackRook) +
+        (lastBlackRook >= 5 ? 'm' : 'e') +
+      baseFen.substring(lastBlackRook + 1, firstWhiteRook) +
+        (firstWhiteRook <= 3 ? 'E' : 'M') +
+      baseFen.substring(firstWhiteRook + 1, lastWhiteRook) +
+        (lastWhiteRook >= 5 ? 'M' : 'E') +
       baseFen.substring(lastWhiteRook + 1)
     );
   }