X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2Fboard.js;h=5a75f298be6655545c157c517a0114aa41ed5b86;hb=582df3497b0f91dd4b645386a059eac9e98da1bb;hp=44c499c2030e8c7ef1072c94d3a3e840610c22aa;hpb=baba60703f661aab20f2327098c3a0af572f0704;p=vchess.git diff --git a/public/javascripts/components/board.js b/public/javascripts/components/board.js index 44c499c2..5a75f298 100644 --- a/public/javascripts/components/board.js +++ b/public/javascripts/components/board.js @@ -1,7 +1,9 @@ Vue.component('my-board', { // Last move cannot be guessed from here, and is required to highlight squares // vr: object to check moves, print board... - props: ["vr","lastMove","mode","orientation","userColor","gameOver"], + // mode: HH, HC or analyze + // userColor: for mode HH or HC + props: ["vr","lastMove","mode","orientation","userColor"], data: function () { return { hints: (!localStorage["hints"] ? true : localStorage["hints"] === "1"), @@ -140,7 +142,7 @@ Vue.component('my-board', { 'incheck': showLight && incheckSq[ci][cj], }, attrs: { - id: this.getSquareId({x:ci,y:cj}), + id: getSquareId({x:ci,y:cj}), }, }, elems @@ -159,7 +161,7 @@ Vue.component('my-board', { myReservePiecesArray.push(h('div', { 'class': {'board':true, ['board'+sizeY]:true}, - attrs: { id: this.getSquareId({x:sizeX+shiftIdx,y:i}) } + attrs: { id: getSquareId({x:sizeX+shiftIdx,y:i}) } }, [ h('img', @@ -183,7 +185,7 @@ Vue.component('my-board', { oppReservePiecesArray.push(h('div', { 'class': {'board':true, ['board'+sizeY]:true}, - attrs: { id: this.getSquareId({x:sizeX+(1-shiftIdx),y:i}) } + attrs: { id: getSquareId({x:sizeX+(1-shiftIdx),y:i}) } }, [ h('img', @@ -249,16 +251,6 @@ Vue.component('my-board', { ); }, methods: { - // Get the identifier of a HTML square from its numeric coordinates o.x,o.y. - getSquareId: function(o) { - // NOTE: a separator is required to allow any size of board - return "sq-" + o.x + "-" + o.y; - }, - // Inverse function - getSquareFromId: function(id) { - let idParts = id.split('-'); - return [parseInt(idParts[1]), parseInt(idParts[2])]; - }, mousedown: function(e) { e = e || window.event; let ingame = false; @@ -289,7 +281,7 @@ Vue.component('my-board', { this.selectedPiece.style.top = 0; this.selectedPiece.style.display = "inline-block"; this.selectedPiece.style.zIndex = 3000; - const startSquare = this.getSquareFromId(e.target.parentNode.id); + const startSquare = getSquareFromId(e.target.parentNode.id); this.possibleMoves = []; const color = this.mode=="analyze" || this.gameOver ? this.vr.turn @@ -335,7 +327,7 @@ Vue.component('my-board', { return; } // OK: process move attempt - let endSquare = this.getSquareFromId(landing.id); + let endSquare = getSquareFromId(landing.id); let moves = this.findMatchingMoves(endSquare); this.possibleMoves = []; if (moves.length > 1)