Implement move squares highlighting

Issue #3
This commit is contained in:
2021-12-13 20:46:53 +01:00
parent 9bb6a60ded
commit 27dce5f7a3
2 changed files with 27 additions and 2 deletions

View File

@@ -89,12 +89,27 @@ export function rowColToBoardIndex(row, col) {
export class ActiveSquares {
constructor() {
this.selectedSquare = null;
this.moveSquares = [];
}
selectSquare(canvas, position) {
let [r, c] = boardIndexToRowCol(position);
canvas.drawSquareColor("#c0c0ff", r, c);
this.selectedSquare = position;
}
setMoveSquares(canvas, moveSquares) {
moveSquares.forEach((position) => {
let [r, c] = boardIndexToRowCol(position);
canvas.drawSquareColor("#ffffc0", r, c);
this.moveSquares.push(position);
});
}
unsetMoveSquares(canvas) {
this.moveSquares.forEach((position) => {
let [r, c] = boardIndexToRowCol(position);
canvas.drawSquareColor(canvas.decideColor(r, c), r, c);
});
this.moveSquares = [];
}
unselectSquare(canvas) {
if (this.selectedSquare === null) return;
let [r, c] = boardIndexToRowCol(this.selectedSquare);