let shadowArray = ArrayFun.init(V.size.x, V.size.y, false);
const squares = shadow.split(",");
for (let i = 0; i < squares.length; i++) {
- const rownum = V.size.x - parseInt(squares[i]);
+ const rownum = V.size.x - parseInt(squares[i], 10);
if (!isNaN(rownum)) {
// Shadow a full row
for (let i = 0; i < V.size.y; i++) shadowArray[rownum][i] = true;
const orientation = args.orientation || "w";
const markArray = getMarkArray(args.marks);
const shadowArray = getShadowArray(args.shadow);
- const vr = new V(); //just for pieces images paths
+ const vr = new V(); //TODO: just for pieces images paths
let boardDiv = "";
const [startX, startY, inc] =
orientation == "w" ? [0, 0, 1] : [V.size.x - 1, V.size.y - 1, -1];
+ let lightOddity = (V.size.x + V.size.y) % 2;
+ if (V.DarkBottomRight) lightOddity = 1 - lightOddity;
for (let i = startX; i >= 0 && i < V.size.x; i += inc) {
boardDiv += "<div class='row";
if (i == startX && V.Monochrome) boardDiv += " border-top";
(V.Notoodark ? "middle-square" : "dark-square");
if (j == startY) boardDiv += " border-left";
}
- else if ((i + j) % 2 == 0) boardDiv += "light-square";
+ else if ((i + j) % 2 == lightOddity) boardDiv += "light-square";
else boardDiv += "dark-square";
boardDiv += " " + store.state.settings.bcolor;
if (shadowArray.length > 0 && shadowArray[i][j])