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.
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.
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.
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.
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.
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é.
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 :)
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 :)
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 :)
}
static get CHAMPION() {
- return 'h';
+ return 'c';
}
static get BALL() {
'p': 's',
'r': 'u',
'n': 'o',
- 'b': 'c',
+ 'b': 'd',
'q': 't',
'k': 'l',
- 'h': 'd'
+ 'c': 'h'
};
}
's': 'p',
'u': 'r',
'o': 'n',
- 'c': 'b',
+ 'd': 'b',
't': 'q',
'l': 'k',
- 'd': 'h'
+ 'h': 'c'
};
}
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"]) {
// 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)
ChessRules.steps,
// Add champion moves
{
- h: [
+ c: [
[-2, -2],
[-2, 0],
[-2, 2],
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
};
}