"Kings cross the 8x8 board": "Kings cross the 8x8 board",
"Kings cross the 11x11 board": "Kings cross the 11x11 board",
"Knibis and Bisknis": "Knibis and Bisknis",
+ "Kniros and Rosknis": "Kniros and Rosknis",
"Knight in pocket": "Knight in pocket",
"Knight versus pawns": "Knight versus pawns",
"Korean Chess": "Korean Chess",
"Kings cross the 8x8 board": "Los reyes cruzan el 8x8 tablero",
"Kings cross the 11x11 board": "Los reyes cruzan el 11x11 tablero",
"Knibis and Bisknis": "Knibis y Bisknis",
+ "Kniros and Rosknis": "Kniros y Rosknis",
"Knight in pocket": "Caballo en bolsillo",
"Knight versus pawns": "Caballo contra peones",
"Korean Chess": "Ajedrez coreano",
"Kings cross the 8x8 board": "Les rois traversent l'échiquier 8x8",
"Kings cross the 11x11 board": "Les rois traversent l'échiquier 11x11",
"Knibis and Bisknis": "Knibis et Bisknis",
+ "Kniros and Rosknis": "Kniros et Rosknis",
"Knight in pocket": "Cavalier en poche",
"Knight versus pawns": "Cavalier contre pions",
"Korean Chess": "Échecs coréens",
--- /dev/null
+p.boxed
+ | Knights capture as rooks, and rooks capture as knights.
+
+figure.diagram-container
+ .diagram.diag12
+ | fen:r1bqr1k1/pp2ppbp/2n2np1/1BpN4/5P2/4PN2/PPP3PP/R1BQ1RK1:
+ .diagram.diag22
+ | fen:r1bNr1k1/pp2ppbp/2n2np1/1Bp5/5P2/4PN2/PPP3PP/R1BQ1RK1:
+ figcaption Before and after Nxd8.
+
+h3 Source
+
+p
+ | The variant is mentioned
+ a(href="https://www.chessvariants.com/play/erf/NewZChss.html")
+ | on chessvariants
+ | . It was probably invented around 1903.
--- /dev/null
+p.boxed
+ | Los caballos capturan como torres y las torres como caballos.
+
+figure.diagram-container
+ .diagram.diag12
+ | fen:r1bqr1k1/pp2ppbp/2n2np1/1BpN4/5P2/4PN2/PPP3PP/R1BQ1RK1:
+ .diagram.diag22
+ | fen:r1bNr1k1/pp2ppbp/2n2np1/1Bp5/5P2/4PN2/PPP3PP/R1BQ1RK1:
+ figcaption Antes y después de Nxd8.
+
+h3 Fuente
+
+p
+ | Se menciona la variante
+ a(href="https://www.chessvariants.com/play/erf/NewZChss.html")
+ | en chessvariants
+ | . Probablemente fue inventado alrededor de 1903.
--- /dev/null
+p.boxed
+ | Les cavaliers capturent comme des tours, et les tours comme des cavaliers.
+
+figure.diagram-container
+ .diagram.diag12
+ | fen:r1bqr1k1/pp2ppbp/2n2np1/1BpN4/5P2/4PN2/PPP3PP/R1BQ1RK1:
+ .diagram.diag22
+ | fen:r1bNr1k1/pp2ppbp/2n2np1/1Bp5/5P2/4PN2/PPP3PP/R1BQ1RK1:
+ figcaption Avant et après Nxd8.
+
+h3 Source
+
+p
+ | La variante est mentionnée
+ a(href="https://www.chessvariants.com/play/erf/NewZChss.html")
+ | sur chessvariants
+ | . Elle a probablement été inventée vers 1903.
"Grand",
"Grasshopper",
"Hoppelpoppel",
+ "Newzealand",
"Omega",
"Ordamirror",
"Perfect",
"Grand",
"Grasshopper",
"Hoppelpoppel",
+ "Newzealand",
"Omega",
"Ordamirror",
"Perfect",
"Grand",
"Grasshopper",
"Hoppelpoppel",
+ "Newzealand",
"Omega",
"Ordamirror",
"Perfect",
--- /dev/null
+import { ChessRules } from "@/base_rules";
+
+// NOTE: a lot copy-pasted from Hoppelpoppel
+export class NewzealandRules extends ChessRules {
+
+ getSlideNJumpMoves_([x, y], steps, oneStep, options) {
+ options = options || {};
+ let moves = [];
+ outerLoop: for (let step of steps) {
+ let i = x + step[0];
+ let j = y + step[1];
+ while (V.OnBoard(i, j) && this.board[i][j] == V.EMPTY) {
+ if (!options.onlyTake) moves.push(this.getBasicMove([x, y], [i, j]));
+ if (!!oneStep) continue outerLoop;
+ i += step[0];
+ j += step[1];
+ }
+ if (V.OnBoard(i, j) && this.canTake([x, y], [i, j]) && !options.onlyMove)
+ moves.push(this.getBasicMove([x, y], [i, j]));
+ }
+ return moves;
+ }
+
+ getPotentialKnightMoves(sq) {
+ // The knight captures like a rook
+ return (
+ this.getSlideNJumpMoves_(
+ sq, ChessRules.steps[V.KNIGHT], "oneStep", { onlyMove: true })
+ .concat(
+ this.getSlideNJumpMoves_(
+ sq, ChessRules.steps[V.ROOK], null, { onlyTake: true }))
+ );
+ }
+
+ getPotentialRookMoves(sq) {
+ // The rook captures like a knight
+ return (
+ this.getSlideNJumpMoves_(
+ sq, ChessRules.steps[V.ROOK], null, { onlyMove: true })
+ .concat(
+ this.getSlideNJumpMoves_(
+ sq, ChessRules.steps[V.KNIGHT], "oneStep", { onlyTake: true }))
+ );
+ }
+
+ isAttackedByKnight([x, y], color) {
+ return super.isAttackedBySlideNJump(
+ [x, y],
+ color,
+ V.KNIGHT,
+ V.steps[V.ROOK]
+ );
+ }
+
+ isAttackedByROOK([x, y], color) {
+ return super.isAttackedBySlideNJump(
+ [x, y],
+ color,
+ V.ROOK,
+ V.steps[V.KNIGHT],
+ "oneStep"
+ );
+ }
+
+};
('Monocolor', 'All of the same color'),
('Monster', 'White move twice'),
('Musketeer', 'New fairy pieces'),
+ ('Newzealand', 'Kniros and Rosknis'),
('Omega', 'A wizard in the corner'),
('Orda', 'Mongolian Horde (v1)'),
('Ordamirror', 'Mongolian Horde (v2)'),