Implement Wildebeest castle rules
=> (1, 2, 3 or 4 squares slide; randomized: may be impossible >1, but possible >4...)
-Fix Omega squares' color (queen on its color: need new static customization "getSquareColor()")
-Finish writing Synochess rules.
Embedded rules language not updated when language is set (in Analyse, Game and Problems)
If new live game starts in background, "new game" notify OK but not first move (not too serious however)
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) {
})
);
}
- const lightSquare = (ci + cj) % 2 == lightSquareMod;
+ const oddity = (ci + cj) % 2;
+ const lightSquare = (
+ (!V.DarkBottomRight && oddity == lightSquareMod) ||
+ (V.DarkBottomRight && oddity != lightSquareMod)
+ );
return h(
"div",
{
(V.Notoodark ? "middle-square" : "dark-square");
if (j == startY) boardDiv += " border-left";
}
- else if ((i + j) % 2 == 0) boardDiv += "light-square";
- else boardDiv += "dark-square";
+ else {
+ const oddity = (i + j) % 2;
+ if (
+ (oddity == 0 && !V.DarkBottomRight) ||
+ (oddity == 1 && V.DarkBottomRight)
+ ) {
+ boardDiv += "light-square";
+ }
+ else boardDiv += "dark-square";
+ }
boardDiv += " " + store.state.settings.bcolor;
if (shadowArray.length > 0 && shadowArray[i][j])
boardDiv += " in-shadow";
);
}
+ static get DarkBottomRight() {
+ return true;
+ }
+
// For space between corners:
static get NOTHING() {
return "xx";