Fix Hiddenqueen 'quasi-checkmate'
authorBenjamin Auder <benjamin.auder@somewhere>
Wed, 16 Dec 2020 15:00:52 +0000 (16:00 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Wed, 16 Dec 2020 15:00:52 +0000 (16:00 +0100)
TODO
client/src/variants/Hiddenqueen.js
server/models/User.js

diff --git a/TODO b/TODO
index 12c7a40..784a65f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,9 +8,6 @@ On smartphone for Teleport, Chakart, Weiqi and some others: option "confirm move
 (=> comme pour corr) + option "confirm moves in corr games"?
 
 NEW VARIANTS:
-Xiangqi
-Synochess
-EmpireChess
 Isardam (type B) : https://echekk.fr/spip.php?page=article&id_article=280
 https://www.reddit.com/r/TotemChess/comments/imi3v7/totem_rules/
 https://www.chessvariants.com/other.dir/fugue.html
index 0cf0967..cbe7f92 100644 (file)
@@ -190,8 +190,12 @@ export class HiddenqueenRules extends ChessRules {
     const color = this.turn;
     if (this.kingPos[color][0] < 0)
       // King disappeared
-      return color == "w" ? "0-1" : "1-0";
-    return super.getCurrentScore();
+      return (color == "w" ? "0-1" : "1-0");
+    const oldSide = this.side;
+    this.side = color;
+    const res = super.getCurrentScore();
+    this.side = oldSide;
+    return res;
   }
 
   // Search is biased, so not really needed to explore deeply
@@ -213,7 +217,7 @@ export class HiddenqueenRules extends ChessRules {
 
   getNotation(move) {
     // Not using getPiece() method because it would transform HQ into pawn:
-    if (this.board[move.start.x][move.start.y][1] != V.HIDDEN_QUEEN)
+    if (this.board[move.start.x][move.start.y].charAt(1) != V.HIDDEN_QUEEN)
       return super.getNotation(move);
     const finalSquare = V.CoordsToSquare(move.end);
     if (move.appear[0].p == V.QUEEN) {
index d62cd76..655012d 100644 (file)
@@ -2,6 +2,7 @@ const db = require("../utils/database");
 const genToken = require("../utils/tokenGenerator");
 const params = require("../config/parameters");
 const sendEmail = require('../utils/mailer');
+const { exec } = require("child_process");
 
 /*
  * Structure: