X-Git-Url: https://git.auder.net/?p=xogo.git;a=blobdiff_plain;f=app.js;h=676b8955e9f1bbbb4117c55f18e24e500eace5f3;hp=7f8dc274cf28376ebd9ece4b542aee6837d3b666;hb=3c61449b830db29c95d82cdacc4dae710cc705a8;hpb=f46a68b8ed74b54b6a26645b88d2a4ae48c1227a diff --git a/app.js b/app.js index 7f8dc27..676b895 100644 --- a/app.js +++ b/app.js @@ -86,8 +86,9 @@ function cancelSeek() { if (send("cancelseek", {vname: seek_vname})) toggleVisible("newGame"); } -function sendRematch() { - if (send("rematch", {gid: gid})) toggleVisible("pendingRematch"); +function sendRematch(random) { + if (send("rematch", {gid: gid, random: !!random})) + toggleVisible("pendingRematch"); } function cancelRematch() { if (send("norematch", {gid: gid})) toggleVisible("newGame"); @@ -103,6 +104,7 @@ function showNewGameForm() { toggleVisible("newGameForm"); import(`/variants/${vname}/class.js`).then(module => { window.V = module.default; + for (const [k, v] of Object.entries(V.Aliases)) window[k] = v; prepareOptions(); }); } @@ -206,6 +208,7 @@ function fillGameInfos(gameInfos, oppIndex) { for (let j=i; j { } }; // Pack into one moves array, then send - curMoves.push({ - appear: move.appear, - vanish: move.vanish, - start: move.start, - end: move.end - }); + curMoves.push(move); if (vr.turn != playerColor) { toggleTurnIndicator(false); send("newmove", @@ -451,6 +450,7 @@ function initializeGame(obj) { const options = obj.options || {}; import(`/variants/${obj.vname}/class.js`).then(module => { window.V = module.default; + for (const [k, v] of Object.entries(V.Aliases)) window[k] = v; // Load CSS. Avoid loading twice the same stylesheet: const allIds = [].slice.call($.styleSheets).map(s => s.id); const newId = obj.vname + "_css"; @@ -481,11 +481,11 @@ function initializeGame(obj) { -
`; +
`; vr = new V({ seed: obj.seed, //may be null if FEN already exists (running game) fen: obj.fen, - element: "chessboard", + element: "boardContainer", color: playerColor, afterPlay: afterPlay, options: options