X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=public%2Fjavascripts%2Fvariants%2FAlice.js;h=db0881e29b863fae99d0b7215fcf0a95b7a27e62;hp=cc7a46448c6d15b3e123ecac3cbda1ddd8d8f9bf;hb=0cd8f2bdfe04a0bd880ee48ef2dcce24728536ee;hpb=a3eb4cc5131333f1ef08a3f41ba68692a7d6bb63 diff --git a/public/javascripts/variants/Alice.js b/public/javascripts/variants/Alice.js index cc7a4644..db0881e2 100644 --- a/public/javascripts/variants/Alice.js +++ b/public/javascripts/variants/Alice.js @@ -1,12 +1,86 @@ class AliceRules extends ChessRUles { - getPpath(b) + // TODO: more general double correspondance normal <--> alice + static get ALICE_PIECES() { - return ""; //TODO + return ['s','t','u','c','o','l']; //king is 'l' } - // Idee : this.board assigné tour à tour à board1, board2 - // board1 initialisé plein, board2 vide (via fen: s,t,u,o,c) - // coups cherchés suivant règles normales sur l'un puis l'autre - // puis au final filtre. + static getPpath(b) + { + return (this.ALICE_PIECES.includes(b[1]) ? "Alice/" : "") + b; + } + + getPotentialMovesFrom([x,y]) + { + // Build board1+board2 from complete board + let board1 = doubleArray(sizeX, sizeY, ""); + let board2 = doubleArray(sizeX, sizeY, ""); + const [sizeX,sizeY] = variantRules.size; + for (let i=0; i