if (check.defaut) optHtml += 'checked="true"';
optHtml += '/>';
}
- if (Rules.Options.styles.length >= 1) optHtml += "<p>";
+ if (Rules.Options.styles.length >= 1) optHtml += '<p class="words">';
for (let style of Rules.Options.styles) {
optHtml += `
<span class="word" onClick="toggleStyle(event, '${style}')">
const ii = (flipped ? this.size.x - 1 - i : i);
const jj = (flipped ? this.size.y - 1 - j : j);
let fillOpacity = '1';
- if (this.options["dark"] && !this.enlightened[ii][jj])
- fillOpacity = '0.5';
+ let classes = this.getSquareColorClass(ii, jj);
+ if (this.enlightened && !this.enlightened[ii][jj])
+ classes += " in-shadow";
// NOTE: x / y reversed because coordinates system is reversed.
- // TODO: CSS "wood" style, rect --> style --> background-image ?
- board += `<rect style="fill-opacity:${fillOpacity};
- fill:#${this.getSquareColor(ii, jj)}"
+ board += `<rect
+ class="${classes}"
id="${this.coordsToId([ii, jj])}"
width="10"
height="10"
}
// Generally light square bottom-right; TODO: user-defined colors at least
- getSquareColor(i, j) {
- return ((i+j) % 2 == 0 ? "f0d9b5": "b58863");
+ getSquareColorClass(i, j) {
+ return ((i+j) % 2 == 0 ? "light-square": "dark-square");
}
setupPieces(r) {
}
// All possible moves from selected square
- getPotentialMovesFrom(sq) {
+ getPotentialMovesFrom(sq, color) {
if (typeof sq[0] == "string") return this.getDropMovesFrom(sq);
if (this.options["madrasi"] && this.isImmobilized(sq)) return [];
const piece = this.getPiece(sq[0], sq[1]);