From 3fa426b632d92a65843038a161677069de5db27e Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 27 Dec 2018 01:22:52 +0100 Subject: [PATCH] Add traces to understand what happens in MarseilleChess about turn/subturn --- public/javascripts/components/game.js | 7 ++- public/javascripts/playCompMove.js | 3 ++ public/javascripts/variants/Marseille.js | 68 +++++++++++++++++++++++- 3 files changed, 74 insertions(+), 4 deletions(-) diff --git a/public/javascripts/components/game.js b/public/javascripts/components/game.js index 4c369e4c..3f3b5556 100644 --- a/public/javascripts/components/game.js +++ b/public/javascripts/components/game.js @@ -1312,7 +1312,7 @@ Vue.component('my-game', { this.endGame(this.mycolor=="w"?"0-1":"1-0"); }, newGame: function(mode, fenInit, color, oppId) { - const fen = fenInit || VariantRules.GenRandInitFen(); + const fen = "nrqkbrnb/pppppppp/8/8/8/8/PPPPPPPP/RKQBNRBN w 1111 -";//fenInit || VariantRules.GenRandInitFen(); console.log(fen); //DEBUG if (mode=="human" && !oppId) { @@ -1391,7 +1391,7 @@ Vue.component('my-game', { else if (mode == "computer") { this.compWorker.postMessage(["init",this.vr.getFen()]); - this.mycolor = (Math.random() < 0.5 ? 'w' : 'b'); + this.mycolor = "w";//(Math.random() < 0.5 ? 'w' : 'b'); if (this.mycolor != this.vr.turn) this.playComputerMove(); } @@ -1622,7 +1622,10 @@ Vue.component('my-game', { if (["human","computer","friend"].includes(this.mode)) this.updateStorage(); //after our moves and opponent moves if (this.mode == "computer" && this.vr.turn != this.mycolor && this.score == "*") + { + console.log(this.vr.moves.length + " " + this.vr.turn + " " + this.mycolor); this.playComputerMove(); + } }, undo: function() { // Navigate after game is over diff --git a/public/javascripts/playCompMove.js b/public/javascripts/playCompMove.js index fc69ce24..f4aeaacb 100644 --- a/public/javascripts/playCompMove.js +++ b/public/javascripts/playCompMove.js @@ -19,6 +19,9 @@ onmessage = function(e) self.vr.play(e.data[1]); break; case "askmove": + +console.log("IN playCompMove " + self.vr.moves.length + " " + self.vr.turn); + const compMove = self.vr.getComputerMove(); postMessage(compMove); break; diff --git a/public/javascripts/variants/Marseille.js b/public/javascripts/variants/Marseille.js index 618e8330..0d228b0c 100644 --- a/public/javascripts/variants/Marseille.js +++ b/public/javascripts/variants/Marseille.js @@ -233,7 +233,9 @@ class MarseilleRules extends ChessRules const maxeval = V.INFINITY; const color = this.turn; const oppCol = this.getOppCol(this.turn); - +//if (this.moves.length == 25) +// debugger; +console.log("turn before " + this.turn + " " + this.subTurn); // Search best (half) move for opponent turn const getBestMoveEval = () => { let moves = this.getAllValidMoves(); @@ -271,11 +273,16 @@ class MarseilleRules extends ChessRules }; let moves11 = this.getAllValidMoves(); +console.log("turn after " + this.turn + " " + this.subTurn); + +if (this.moves.length == 25) + debugger; + + let doubleMoves = []; // Rank moves using a min-max at depth 2 for (let i=0; i { return (color=="w" ? 1 : -1) * (b.eval - a.eval); }); @@ -306,6 +369,7 @@ class MarseilleRules extends ChessRules { candidates.push(i); } +console.log("turn END " + this.turn + " " + this.subTurn); const selected = doubleMoves[_.sample(candidates, 1)].moves; if (selected.length == 1) -- 2.44.0