From c0250d0a78682d9d6eee3193a4573c7aeaf7b32f Mon Sep 17 00:00:00 2001 From: Benjamin Auder <benjamin.auder@somewhere> Date: Tue, 24 Mar 2020 12:23:20 +0100 Subject: [PATCH] Fix pieces values and notation for Ball variant. Add quick description of Doublearmy variant --- client/src/translations/rules/Ball/en.pug | 10 +++---- client/src/translations/rules/Ball/es.pug | 10 +++---- client/src/translations/rules/Ball/fr.pug | 10 +++---- .../src/translations/rules/Doublearmy/en.pug | 17 +++++++++++- .../src/translations/rules/Doublearmy/es.pug | 18 ++++++++++++- .../src/translations/rules/Doublearmy/fr.pug | 18 ++++++++++++- client/src/variants/Ball.js | 26 +++++++++---------- 7 files changed, 78 insertions(+), 31 deletions(-) diff --git a/client/src/translations/rules/Ball/en.pug b/client/src/translations/rules/Ball/en.pug index 3525359f..429ec6ed 100644 --- a/client/src/translations/rules/Ball/en.pug +++ b/client/src/translations/rules/Ball/en.pug @@ -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. diff --git a/client/src/translations/rules/Ball/es.pug b/client/src/translations/rules/Ball/es.pug index cef6fa62..560f4eb0 100644 --- a/client/src/translations/rules/Ball/es.pug +++ b/client/src/translations/rules/Ball/es.pug @@ -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. diff --git a/client/src/translations/rules/Ball/fr.pug b/client/src/translations/rules/Ball/fr.pug index 314bc5f1..21b6d56f 100644 --- a/client/src/translations/rules/Ball/fr.pug +++ b/client/src/translations/rules/Ball/fr.pug @@ -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é. diff --git a/client/src/translations/rules/Doublearmy/en.pug b/client/src/translations/rules/Doublearmy/en.pug index 5e0f62d3..9af2c94c 100644 --- a/client/src/translations/rules/Doublearmy/en.pug +++ b/client/src/translations/rules/Doublearmy/en.pug @@ -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 :) diff --git a/client/src/translations/rules/Doublearmy/es.pug b/client/src/translations/rules/Doublearmy/es.pug index 5e0f62d3..22685c65 100644 --- a/client/src/translations/rules/Doublearmy/es.pug +++ b/client/src/translations/rules/Doublearmy/es.pug @@ -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 :) diff --git a/client/src/translations/rules/Doublearmy/fr.pug b/client/src/translations/rules/Doublearmy/fr.pug index 5e0f62d3..b45b6c2f 100644 --- a/client/src/translations/rules/Doublearmy/fr.pug +++ b/client/src/translations/rules/Doublearmy/fr.pug @@ -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 :) diff --git a/client/src/variants/Ball.js b/client/src/variants/Ball.js index 1bb7731c..cd504a92 100644 --- a/client/src/variants/Ball.js +++ b/client/src/variants/Ball.js @@ -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 }; } -- 2.44.0