X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2FplayCompMove.js;h=05c2286c49e612feb744e147a5a904fac8a08d9b;hb=e71161fbfffe53b0f4b174e0467cdd98cc70b7b0;hp=b93a8d1eefa323e5a35eba80213b47e43ada91c8;hpb=4486a21e09c50f65da5d4c3648430cea1b19a0cc;p=vchess.git diff --git a/client/src/playCompMove.js b/client/src/playCompMove.js index b93a8d1e..05c2286c 100644 --- a/client/src/playCompMove.js +++ b/client/src/playCompMove.js @@ -1,22 +1,27 @@ // Logic to play a computer move in a web worker -onmessage = async function(e) -{ - switch (e.data[0]) - { - case "scripts": +onmessage = async function(e) { + switch (e.data[0]) { + case "scripts": { const vModule = await import("@/variants/" + e.data[1] + ".js"); self.V = vModule.VariantRules; break; - case "init": + } + case "init": { const fen = e.data[1]; self.vr = new self.V(fen); break; + } case "newmove": - self.vr.play(e.data[1]); + let move = e.data[1]; + // Caution: could be a multi-move + if (!Array.isArray(move)) + move = [move]; + move.forEach(m => self.vr.play(m)); break; - case "askmove": + case "askmove": { const compMove = self.vr.getComputerMove(); postMessage(compMove); break; + } } -} +};