Fix pieces values and notation for Ball variant. Add quick description of Doublearmy...
authorBenjamin Auder <benjamin.auder@somewhere>
Tue, 24 Mar 2020 11:23:20 +0000 (12:23 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Tue, 24 Mar 2020 11:23:20 +0000 (12:23 +0100)
client/src/translations/rules/Ball/en.pug
client/src/translations/rules/Ball/es.pug
client/src/translations/rules/Ball/fr.pug
client/src/translations/rules/Doublearmy/en.pug
client/src/translations/rules/Doublearmy/es.pug
client/src/translations/rules/Doublearmy/fr.pug
client/src/variants/Ball.js

index 3525359..429ec6e 100644 (file)
@@ -18,13 +18,13 @@ p.
 
 figure.diagram-container
   .diagram.diag12
-    | fen:rnbhq1nbr/ppppppppp/5h3/9/4a4/5P3/9/PPPPP1PPP/RNBHQHNBR:
+    | fen:rnbcq1nbr/ppppppppp/5c3/9/4a4/5P3/9/PPPPP1PPP/RNBCQCNBR:
   .diagram.diag22
-    | fen:rnbhq1nbr/ppppppppp/5h3/9/4S4/9/9/PPPPP1PPP/RNBHQHNBR:
+    | fen:rnbcq1nbr/ppppppppp/5c3/9/4S4/9/9/PPPPP1PPP/RNBCQCNBR:
   figcaption Left: before fxe5 (taking ball). Right: after fxe5.
 
 p.
-  The piece sitting next to the queen is a champion (H).
+  The piece sitting next to the queen is a Champion (C).
   It moves by jumping two squares in any direction (potentially over pieces),
   or one square orthogonally.
 
@@ -36,9 +36,9 @@ p.
 
 figure.diagram-container
   .diagram.diag12
-    | fen:3rn1r2/1pp3pbp/2hp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1qPd2/1R2BH1HQ:
+    | fen:3rn1r2/1pp3pbp/2cp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1qPh2/1R2BC1CQ:
   .diagram.diag22
-    | fen:3rn1r2/1pp3pbp/2hp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1tPh2/1R2BH1HQ:
+    | fen:3rn1r2/1pp3pbp/2cp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1tPc2/1R2BC1CQ:
   figcaption.
     Left: before g2Pe2 (passing the ball).
     Right: after the move. Then ...Q(x)d1# cannot be prevented.
index cef6fa6..560f4eb 100644 (file)
@@ -18,15 +18,15 @@ p.
 
 figure.diagram-container
   .diagram.diag12
-    | fen:rnbhq1nbr/ppppppppp/5h3/9/4a4/5P3/9/PPPPP1PPP/RNBHQHNBR:
+    | fen:rnbcq1nbr/ppppppppp/5c3/9/4a4/5P3/9/PPPPP1PPP/RNBCQCNBR:
   .diagram.diag22
-    | fen:rnbhq1nbr/ppppppppp/5h3/9/4S4/9/9/PPPPP1PPP/RNBHQHNBR:
+    | fen:rnbcq1nbr/ppppppppp/5c3/9/4S4/9/9/PPPPP1PPP/RNBCQCNBR:
   figcaption.
     Izquierda: antes de fxe5 (tomando la pelota).
     Derecha: después de fxe5.
 
 p.
-  La pieza al lado de la dama es un campeón (H).
+  La pieza al lado de la dama es un Campeón (C).
   Se mueve saltando dos casillas en cualquier dirección
   (potencialmente sobre piezas), o una casilla ortogonalmente.
 
@@ -38,9 +38,9 @@ p.
 
 figure.diagram-container
   .diagram.diag12
-    | fen:3rn1r2/1pp3pbp/2hp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1qPd2/1R2BH1HQ:
+    | fen:3rn1r2/1pp3pbp/2cp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1qPh2/1R2BC1CQ:
   .diagram.diag22
-    | fen:3rn1r2/1pp3pbp/2hp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1tPh2/1R2BH1HQ:
+    | fen:3rn1r2/1pp3pbp/2cp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1tPc2/1R2BC1CQ:
   figcaption.
     Izquierda: antes de g2Pe2 (pasando el globo).
     Derecha: después del movimiento. Entonces Q(x)d1# no se puede prevenir.
index 314bc5f..21b6d56 100644 (file)
@@ -19,13 +19,13 @@ p.
 
 figure.diagram-container
   .diagram.diag12
-    | fen:rnbhq1nbr/ppppppppp/5h3/9/4a4/5P3/9/PPPPP1PPP/RNBHQHNBR:
+    | fen:rnbcq1nbr/ppppppppp/5c3/9/4a4/5P3/9/PPPPP1PPP/RNBCQCNBR:
   .diagram.diag22
-    | fen:rnbhq1nbr/ppppppppp/5h3/9/4S4/9/9/PPPPP1PPP/RNBHQHNBR:
+    | fen:rnbcq1nbr/ppppppppp/5c3/9/4S4/9/9/PPPPP1PPP/RNBCQCNBR:
   figcaption Gauche : avant fxe5 (prenant le ballon). Droite : après fxe5.
 
 p.
-  La pièce située à côté de la dame est un champion (H).
+  La pièce située à côté de la dame est un Champion (C).
   Il se déplace en effectuant des sauts de deux cases dans n'importe
   quelle direction (potentiellement par dessus des pièces),
   ou d'une case orthogonalement.
@@ -38,9 +38,9 @@ p.
 
 figure.diagram-container
   .diagram.diag12
-    | fen:3rn1r2/1pp3pbp/2hp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1qPd2/1R2BH1HQ:
+    | fen:3rn1r2/1pp3pbp/2cp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1qPh2/1R2BC1CQ:
   .diagram.diag22
-    | fen:3rn1r2/1pp3pbp/2hp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1tPh2/1R2BH1HQ:
+    | fen:3rn1r2/1pp3pbp/2cp2n2/p1b1pp1p1/P6P1/2N3P1P/1PP2N3/1RB1tPc2/1R2BC1CQ:
   figcaption.
     Gauche : avant g2Pe2 (passant le ballon).
     Droite : après le coup. Ensuite ...Q(x)d1# ne peut être empêché.
index 5e0f62d..9af2c94 100644 (file)
@@ -1,2 +1,17 @@
 p.boxed
-  | TODO.
+  | The four middle ranks contain a replica of the initial pièces.
+  | The central "king" has no royal status.
+
+figure.diagram-container
+  .diagram
+    | fen:rnbqkbnr/pppppppp/rnbqcbnr/pppppppp/PPPPPPPP/RNBQCBNR/PPPPPPPP/RNBQKBNR:
+  figcaption Deterministic initial position.
+
+p.
+  The Commoner (C) at e3 and e6 on the diagram moves like a king,
+  but it can be captured as any other piece.
+
+p.
+  This variant was suggested by Vincent Rothuis (2020), initially with
+  additional kings on e3 and e6 - thus two kings per side.
+  I may implement this version as well, but for now I like this one :)
index 5e0f62d..22685c6 100644 (file)
@@ -1,2 +1,18 @@
 p.boxed
-  | TODO.
+  | Las cuatro filas centrales contienen una réplica de las piezas originales.
+  | El "rey" en el medio no tiene estatus real.
+
+figure.diagram-container
+  .diagram
+    | fen:rnbqkbnr/pppppppp/rnbqcbnr/pppppppp/PPPPPPPP/RNBQCBNR/PPPPPPPP/RNBQKBNR:
+  figcaption Posición inicial determinista.
+
+p.
+  El Plebeyo (C) en e3 y e6 en el diagrama se mueve como un rey,
+  pero se puede capturar como cualquier otra pieza.
+
+p.
+  Esta variante fue sugerida por Vincent Rothuis (2020), recientemente
+  con reyes adicionales en e3 y e6, y por lo tanto dos reyes por campamento.
+  Puede que también esté implementando esta versión, pero por ahora
+  me gusta bastante este :)
index 5e0f62d..b45b6c2 100644 (file)
@@ -1,2 +1,18 @@
 p.boxed
-  | TODO.
+  | Les quatre rangées centrales contiennent une réplique des pièces initiales.
+  | Le "roi" au milieu n'a pas de statut royal.
+
+figure.diagram-container
+  .diagram
+    | fen:rnbqkbnr/pppppppp/rnbqcbnr/pppppppp/PPPPPPPP/RNBQCBNR/PPPPPPPP/RNBQKBNR:
+  figcaption Position initiale déterministe.
+
+p.
+  Le Roturier (C) en e3 et e6 sur le diagramme se déplace comme un roi,
+  mais il peut être capturé comme n'importe quelle autre pièce.
+
+p.
+  Cette variante a été suggérée par Vincent Rothuis (2020), initialement
+  avec des rois supplémentaires en e3 et e6 - et donc deux rois par camp.
+  Il se peut que j'implémente cette version aussi, mais pour l'instant
+  j'aime assez celle-ci :)
index 1bb7731..cd504a9 100644 (file)
@@ -19,7 +19,7 @@ export class BallRules extends ChessRules {
   }
 
   static get CHAMPION() {
-    return 'h';
+    return 'c';
   }
 
   static get BALL() {
@@ -38,10 +38,10 @@ export class BallRules extends ChessRules {
       'p': 's',
       'r': 'u',
       'n': 'o',
-      'b': 'c',
+      'b': 'd',
       'q': 't',
       'k': 'l',
-      'h': 'd'
+      'c': 'h'
     };
   }
 
@@ -50,10 +50,10 @@ export class BallRules extends ChessRules {
       's': 'p',
       'u': 'r',
       'o': 'n',
-      'c': 'b',
+      'd': 'b',
       't': 'q',
       'l': 'k',
-      'd': 'h'
+      'h': 'c'
     };
   }
 
@@ -128,7 +128,7 @@ export class BallRules extends ChessRules {
 
   static GenRandInitFen(randomness) {
     if (randomness == 0)
-      return "rnbhqhnbr/ppppppppp/9/9/4a4/9/9/PPPPPPPPP/RNBHQHNBR w 0 -";
+      return "rnbcqcnbr/ppppppppp/9/9/4a4/9/9/PPPPPPPPP/RNBCQCNBR w 0 -";
 
     let pieces = { w: new Array(9), b: new Array(9) };
     for (let c of ["w", "b"]) {
@@ -139,7 +139,7 @@ export class BallRules extends ChessRules {
 
       // Get random squares for every piece, totally freely
       let positions = shuffle(ArrayFun.range(9));
-      const composition = ['b', 'b', 'r', 'r', 'n', 'n', 'h', 'h', 'q'];
+      const composition = ['b', 'b', 'r', 'r', 'n', 'n', 'c', 'c', 'q'];
       const rem2 = positions[0] % 2;
       if (rem2 == positions[1] % 2) {
         // Fix bishops (on different colors)
@@ -178,7 +178,7 @@ export class BallRules extends ChessRules {
       ChessRules.steps,
       // Add champion moves
       {
-        h: [
+        c: [
           [-2, -2],
           [-2, 0],
           [-2, 2],
@@ -323,11 +323,11 @@ export class BallRules extends ChessRules {
   static get VALUES() {
     return {
       p: 1,
-      r: 5,
-      n: 3,
-      b: 3,
-      q: 9,
-      h: 4,
+      r: 3,
+      n: 4,
+      b: 2,
+      q: 5,
+      c: 4,
       a: 0 //ball: neutral
     };
   }