this.vr.re_init(this.moves[index].fen);
this.cursor = index;
this.lastMove = this.moves[index];
+ this.incheck = this.vr.getCheckSquares(this.vr.turn);
},
gotoBegin: function() {
if (this.cursor == -1) return;
this.cursor = -1;
this.lastMove = null;
}
+ this.incheck = this.vr.getCheckSquares(this.vr.turn);
},
gotoEnd: function() {
if (this.cursor == this.moves.length - 1) return;
"Capture all of a kind": "Capture all of a kind",
"Captures reborn": "Captures reborn",
"Change colors": "Change colors",
+ "Dangerous collisions": "Dangerous collisions",
"Exchange pieces positions": "Exchange pieces positions",
"Exotic captures": "Exotic captures",
"Explosive captures": "Explosive captures",
"Capture all of a kind": "Capturar todo del mismo tipo",
"Captures reborn": "Las capturas renacen",
"Change colors": "Cambiar colores",
+ "Dangerous collisions": "Colisiones peligrosas",
"Exchange pieces positions": "Intercambiar las posiciones de las piezas",
"Exotic captures": "Capturas exóticas",
"Explosive captures": "Capturas explosivas",
"Capture all of a kind": "Capturez tout d'un même type",
"Captures reborn": "Les captures renaissent",
"Change colors": "Changer les couleurs",
+ "Dangerous collisions": "Collisions dangeureuses",
"Exchange pieces positions": "Échangez les positions des pièces",
"Exotic captures": "Captures exotiques",
"Explosive captures": "Captures explosives",
--- /dev/null
+p.boxed
+ | If a piece captures one of the same kind, both disappear.
+
+p.
+ The defensive power of pawns is thus increased, because they don't fear
+ captures (by other pawns).
+
+p.
+ Endings are also affected quite a lot, and sometimes new threats occur:
+ on the diagram, 3.Bxg7 wins a pawn because 3...Bxg7 would make both
+ bishops disappear.
+
+figure.diagram-container
+ .diagram
+ | fen:r1bqkbnr/pp1ppppp/2n5/2p5/8/1P6/PBPPPPPP/RN1QKBNR:
+ figcaption After 1.b3 c5 2.Bb2 Nc6
+
+p This detail excepted, the orthodox chess rules apply.
+
+h3 Source
+
+p
+ a(href="https://www.chessvariants.com/rules/antimatter-chess") Antimatter chess
+ | on chessvariants.com.
--- /dev/null
+p.boxed
+ | Si una pieza captura otra del mismo tipo, las dos desaparecen.
+
+p.
+ El poder defensivo de los peones aumenta así, ya que no temen
+ más capturas (por otros peones).
+
+p.
+ Las finales también se ven muy afectadas y, a veces, nuevas amenazas
+ ocurren: en el diagrama, 3.Bxg7 gana un peón porque 3...Bxg7 causaría
+ la desaparición de los dos alfiles.
+
+figure.diagram-container
+ .diagram
+ | fen:r1bqkbnr/pp1ppppp/2n5/2p5/8/1P6/PBPPPPPP/RN1QKBNR:
+ figcaption Después de 1.b3 c5 2.Bb2 Nc6
+
+p Excepto por este detalle, se aplican las reglas del ajedrez ortodoxo.
+
+h3 Fuente
+
+p
+ | La
+ a(href="https://www.chessvariants.com/rules/antimatter-chess") variante Antimateria
+ | en chessvariants.com.
--- /dev/null
+p.boxed
+ | Si une pièce en capture une autre du même type, les deux disparaissent.
+
+p.
+ Le pouvoir défensif des pions est ainsi augmenté, puisqu'ils ne craignent
+ plus les captures (par d'autres pions).
+
+p.
+ Les finales sont aussi beaucoup affectées, et parfois de nouvelles menaces
+ surviennent : sur le diagramme, 3.Bxg7 gagne un pion car 3...Bxg7 provoquerait
+ la disparition des deux fous.
+
+figure.diagram-container
+ .diagram
+ | fen:r1bqkbnr/pp1ppppp/2n5/2p5/8/1P6/PBPPPPPP/RN1QKBNR:
+ figcaption After 1.b3 c5 2.Bb2 Nc6
+
+p Ce détail excepté, les règles des échecs orthodoxes s'appliquent.
+
+h3 Source
+
+p
+ | La
+ a(href="https://www.chessvariants.com/rules/antimatter-chess") variante Antimatière
+ | sur chessvariants.com.
They change side, until the opponent in turn can attack them.
There are no captures: only color changes.
+p Castling is possible, and flips pieces attacked by the king or rook.
+
figure.diagram-container
.diagram
| fen:r1bqkbnr/ppPpPppp/2n5/3N4/8/8/PPPPPPPP/R1BQKBNR:
| Las piezas atacadas cambian de color después de cada turno.
| El objetivo es cambiar el color del rey.
+p.
+ Más precisamente, solo las piezas atacadas por la unidad móvil se voltean.
+ Cambian de lado, hasta que el oponente a su vez puede atacarlos.
+ No hay capturas: solo cambios de color.
+
+p El enroque es posible y cambia tanto las piezas atacadas por el rey como la torre.
+
figure.diagram-container
.diagram
| fen:r1bqkbnr/ppPpPppp/2n5/3N4/8/8/PPPPPPPP/R1BQKBNR:
| Les pièces attaquées changent de couleur après chaque tour.
| Le but est de changer la couleur du roi.
+p.
+ Plus précisément, seules les pièces attaquées par le coup courant sont modifiées.
+ Elles changent de couleur, jusqu'à ce que l'adversaire au trait puisse les attaquer.
+ Il n'y a pas de captures : seulement des changements de couleur.
+
+p Le roque est possible, et change à la fois les pièces attaquées par le roi et la tour.
+
figure.diagram-container
.diagram
| fen:r1bqkbnr/ppPpPppp/2n5/3N4/8/8/PPPPPPPP/R1BQKBNR:
--- /dev/null
+import { ChessRules } from "@/base_rules";
+
+export const VariantRules = class AntimatterRules extends ChessRules {
+ getPotentialMovesFrom([x, y]) {
+ let moves = super.getPotentialMovesFrom([x, y]);
+
+ // Handle "matter collisions"
+ moves.forEach(m => {
+ if (
+ m.vanish.length > 1 &&
+ m.appear.length <= 1 &&
+ m.vanish[0].p == m.vanish[1].p
+ ) {
+ m.appear.pop();
+ }
+ });
+
+ return moves;
+ }
+};
// Handle explosions
moves.forEach(m => {
+ // NOTE: if vanish.length==2 and appear.length==2, this is castle
if (m.vanish.length > 1 && m.appear.length <= 1) {
- //avoid castles
- // Explosion! OPTION (TODO?): drop moves which explode our king here
+ // Explosion! (TODO?: drop moves which explode our king here)
let steps = [
[-1, -1],
[-1, 0],
insert or ignore into Variants (name,description) values
('Alice', 'Both sides of the mirror'),
('Antiking', 'Keep antiking in check'),
+ ('Antimatter', 'Dangerous collisions'),
('Atomic', 'Explosive captures'),
('Baroque', 'Exotic captures'),
('Benedict', 'Change colors'),