li.
Hoplite (Pawn) = Berolina pawn, with an extra option on its initial rank:
it can jump over an obstacle for the 2-squares advance.
- li Captain = Rook limited to 2 squares maximum.
+ li Captain = Rook limited to 2 squares maximum, but which can jump.
li.
- Lieutenant = Bishop limted to two squares maximum.
+ Lieutenant = Bishop limted to two squares maximum (potential jump).
It can also move horizontally by one square, without capturing.
li General = Rook + King
li Warlord = Bishop + Knight
Hoplite (Peón) = peón Berolina, con una opción adicional de su
fila inicial: puede saltar un obstáculo para
el avance de dos casillas.
- li Capitán = Torre limitada a dos casillas como máximo.
li.
- Teniente = Loco limitado a dos casillas como máximo.
+ Capitán = Torre limitada a dos casillas como máximo,
+ pero ella puede saltar.
+ li.
+ Teniente = Alfil limitado a dos casillas como máximo (salto potencial).
También puede moverse horizontalmente un cuadrado, sin capturar.
li General = Torre + Rey
li Warlord = Alfil + Caballo
Hoplite (Pion) = pion Berolina, avec une option supplémentaire depuis sa
rangée initiale : il peut sauter par dessus un obstacle pour
l'avancée de deux cases.
- li Capitaine = Tour limitée à deux cases maximum.
+ li Capitaine = Tour limitée à deux cases maximum, mais elle peut sauter.
li.
- Lieutenant = Fou limité à deux cases maximum.
+ Lieutenant = Fou limité à deux cases maximum (saut potentiel).
Il peut aussi se mouvoir horizontalement d'une case, sans capturer.
li Général = Tour + Roi
li Warlord = Fou + Cavalier
return 2;
}
+ getNotation(move) {
+ const piece = this.getPiece(move.start.x, move.start.y);
+ if (piece == V.PAWN) {
+ // Pawn move
+ const finalSquare = V.CoordsToSquare(move.end);
+ let notation = "";
+ if (move.vanish.length == 2)
+ // Capture
+ notation = "Px" + finalSquare;
+ else {
+ // No capture: indicate the initial square for potential ambiguity
+ const startSquare = V.CoordsToSquare(move.start);
+ notation = startSquare + finalSquare;
+ }
+ if (move.appear[0].p != V.PAWN)
+ // Promotion
+ notation += "=" + move.appear[0].p.toUpperCase();
+ return notation;
+ }
+ return super.getNotation(move); //OK for all other pieces
+ }
+
};