return V.ShowMoves;
}
+ // Sometimes moves must remain hidden until game ends
+ static get SomeHiddenMoves() {
+ return false;
+ }
+ get someHiddenMoves() {
+ return V.SomeHiddenMoves;
+ }
+
+ // Generally true, unless the variant includes random effects
+ static get CorrConfirm() {
+ return true;
+ }
+
// Used for Monochrome variant (TODO: harmonize: !canFlip ==> showFirstTurn)
get showFirstTurn() {
return false;
return null;
}
+ // Some variants may need to highlight squares on hover (Hamilton, Weiqi...)
+ hoverHighlight() {
+ return false;
+ }
+
static get IMAGE_EXTENSION() {
// All pieces should be in the SVG format
return ".svg";
if (x2 == lastRank) {
// promotions arg: special override for Hiddenqueen variant
if (!!promotions) finalPieces = promotions;
- else if (!!V.PawnSpecs.promotions)
- finalPieces = V.PawnSpecs.promotions;
+ else if (!!V.PawnSpecs.promotions) finalPieces = V.PawnSpecs.promotions;
}
let tr = null;
for (let piece of finalPieces) {
// Captures
if (V.PawnSpecs.canCapture) {
for (let shiftY of [-1, 1]) {
- if (
- y + shiftY >= 0 &&
- y + shiftY < sizeY
- ) {
+ if (y + shiftY >= 0 && y + shiftY < sizeY) {
if (
this.board[x + shiftX][y + shiftY] != V.EMPTY &&
this.canTake([x, y], [x + shiftX, y + shiftY])