X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=app.js;h=7d387c5702a6400c1ff75f81d67f5c88d240a15b;hb=f54357573d4fdf87a05b19f78506c11f16bb3a26;hp=c0c74c0a247a2d8a524b9d37b2a4a9cd44a05616;hpb=535c464b0543306a0ea36c66f07dcfad7a951efc;p=xogo.git diff --git a/app.js b/app.js index c0c74c0..7d387c5 100644 --- a/app.js +++ b/app.js @@ -191,7 +191,9 @@ function getGameLink() { const vname = $.getElementById("selectVariant").value; const color = $.getElementById("selectColor").value; for (const select of $.querySelectorAll("#gameOptions select")) { - const value = parseInt(select.value, 10) || select.value; + let value = parseInt(select.value, 10); + if (isNaN(value)) //not an integer + value = select.value; options[ select.id.split("_")[1] ] = value; } for (const input of $.querySelectorAll("#gameOptions input")) { @@ -229,7 +231,7 @@ function fillGameInfos(gameInfos, oppIndex) { if (j == options.length) break; const opt = options[j]; - if (!opt[1]) + if (!opt[1]) //includes 0 and false (lighter display) continue; htmlContent += '' + @@ -454,10 +456,10 @@ function notifyMe(code) { let curMoves = [], lastFen; -const afterPlay = (move) => { +const afterPlay = (move_s) => { const callbackAfterSend = () => { curMoves = []; - const result = vr.getCurrentScore(move); + const result = vr.getCurrentScore(move_s); if (result != "*") { setTimeout(() => { toggleVisible("gameStopped"); @@ -466,7 +468,12 @@ const afterPlay = (move) => { } }; // Pack into one moves array, then send - curMoves.push(move); + if (Array.isArray(move_s)) + // Array of simple moves (e.g. Chakart) + Array.prototype.push.apply(curMoves, move_s); + else + // Usual case + curMoves.push(move_s); if (vr.turn != playerColor) { toggleTurnIndicator(false); send("newmove", @@ -516,7 +523,7 @@ function initializeGame(obj) { -
`; +
`; vr = new V({ seed: obj.seed, //may be null if FEN already exists (running game) fen: obj.fen,