return false;
}
+ // Some games are drawn unusually (bottomr right corner is black)
+ static get DarkBottomRight() {
+ return false;
+ }
+
// Some variants require lines drawing
static get Lines() {
if (V.Monochrome) {
return null;
}
+ // In some variants, the player who repeat a position loses
+ static get LoseOnRepetition() {
+ return false;
+ }
+
// Some variants use click infos:
doClick() {
return null;
// All possible moves from selected square
getPotentialMovesFrom([x, y]) {
switch (this.getPiece(x, y)) {
- case V.PAWN:
- return this.getPotentialPawnMoves([x, y]);
- case V.ROOK:
- return this.getPotentialRookMoves([x, y]);
- case V.KNIGHT:
- return this.getPotentialKnightMoves([x, y]);
- case V.BISHOP:
- return this.getPotentialBishopMoves([x, y]);
- case V.QUEEN:
- return this.getPotentialQueenMoves([x, y]);
- case V.KING:
- return this.getPotentialKingMoves([x, y]);
+ case V.PAWN: return this.getPotentialPawnMoves([x, y]);
+ case V.ROOK: return this.getPotentialRookMoves([x, y]);
+ case V.KNIGHT: return this.getPotentialKnightMoves([x, y]);
+ case V.BISHOP: return this.getPotentialBishopMoves([x, y]);
+ case V.QUEEN: return this.getPotentialQueenMoves([x, y]);
+ case V.KING: return this.getPotentialKingMoves([x, y]);
}
return []; //never reached
}