projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix targetted challenge deletion after refusal
[vchess.git]
/
client
/
src
/
playCompMove.js
diff --git
a/client/src/playCompMove.js
b/client/src/playCompMove.js
index
b93a8d1
..
05c2286
100644
(file)
--- a/
client/src/playCompMove.js
+++ b/
client/src/playCompMove.js
@@
-1,22
+1,27
@@
// Logic to play a computer move in a web worker
// 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;
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;
const fen = e.data[1];
self.vr = new self.V(fen);
break;
+ }
case "newmove":
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;
break;
- case "askmove":
+ case "askmove":
{
const compMove = self.vr.getComputerMove();
postMessage(compMove);
break;
const compMove = self.vr.getComputerMove();
postMessage(compMove);
break;
+ }
}
}
-}
+}
;