X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBoard.vue;h=8b1055bd72a104be50ada23507138daac9bcb265;hp=03a5b6e3a218ef1260f6d202a16b547d75273f2e;hb=a6088c906bbe6fae95707dc7028e45023fe39981;hpb=4473050c257453abb37cd53d8d1e6e941c49bf91 diff --git a/client/src/components/Board.vue b/client/src/components/Board.vue index 03a5b6e3..8b1055bd 100644 --- a/client/src/components/Board.vue +++ b/client/src/components/Board.vue @@ -2,6 +2,8 @@ // This can work for squared boards (2 or 4 players), with some adaptations (TODO) // TODO: for 3 players, write a "board3.js" +// TODO: current clicked square + moving square as parameters, + highlight + import { getSquareId, getSquareFromId } from "@/utils/squareId"; import { ArrayFun } from "@/utils/array"; @@ -9,9 +11,8 @@ export default { name: 'my-board', // Last move cannot be guessed from here, and is required to highlight squares // vr: object to check moves, print board... - // mode: HH, HC or analyze // userColor: for mode HH or HC - props: ["vr","lastMove","mode","orientation","userColor","vname"], + props: ["vr","lastMove","analyze","orientation","userColor","vname"], data: function () { return { hints: (!localStorage["hints"] ? true : localStorage["hints"] === "1"), @@ -98,7 +99,7 @@ export default { let cj = (this.orientation=='w' ? j : sizeY-j-1); let elems = []; if (this.vr.board[ci][cj] != V.EMPTY && (this.vname!="Dark" - || this.gameOver || this.mode == "analyze" + || this.gameOver || this.analyze || this.vr.enlightened[this.userColor][ci][cj])) { elems.push( @@ -111,8 +112,8 @@ export default { && this.selectedPiece.parentNode.id == "sq-"+ci+"-"+cj, }, attrs: { - src: require("@/assets/images/pieces/" + - V.getPpath(this.vr.board[ci][cj]) + ".svg"), + src: "/images/pieces/" + + V.getPpath(this.vr.board[ci][cj]) + ".svg", }, } ) @@ -144,8 +145,7 @@ export default { 'dark-square': (i+j)%2==1, [this.bcolor]: true, 'in-shadow': this.vname=="Dark" && !this.gameOver - && this.mode != "analyze" - && !this.vr.enlightened[this.userColor][ci][cj], + && !this.analyze && !this.vr.enlightened[this.userColor][ci][cj], 'highlight': showLight && !!lm && lm.end.x == ci && lm.end.y == cj, 'incheck': showLight && incheckSq[ci][cj], }, @@ -291,9 +291,7 @@ export default { this.selectedPiece.style.zIndex = 3000; const startSquare = getSquareFromId(e.target.parentNode.id); this.possibleMoves = []; - const color = this.mode=="analyze" || this.gameOver - ? this.vr.turn - : this.userColor; + const color = (this.analyze || this.gameOver ? this.vr.turn : this.userColor); if (this.vr.canIplay(color,startSquare)) this.possibleMoves = this.vr.getPossibleMovesFrom(startSquare); // Next line add moving piece just after current image @@ -364,5 +362,102 @@ export default {