X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FHidden.js;h=98a8b4530737e0a887c6ab61c7c17df9874abfba;hb=2c5d7b20742b802d9c47916915c1114bcfc9a9c3;hp=ef5b0bb77380a56fdcc1500db5ebfde4b921ee2a;hpb=6f2f94374f1e73c375edf732d9425e575e81fff7;p=vchess.git diff --git a/client/src/variants/Hidden.js b/client/src/variants/Hidden.js index ef5b0bb7..98a8b453 100644 --- a/client/src/variants/Hidden.js +++ b/client/src/variants/Hidden.js @@ -7,10 +7,6 @@ export class HiddenRules extends ChessRules { return false; } - static get HasCastle() { - return false; - } - static get HasEnpassant() { return false; } @@ -209,9 +205,11 @@ export class HiddenRules extends ChessRules { pieces[c][rook2Pos] = "u"; } let upFen = pieces["b"].join(""); - upFen = upFen.substr(0,8) + "/" + upFen.substr(8).split("").reverse().join(""); + upFen = upFen.substr(0,8) + "/" + + upFen.substr(8).split("").reverse().join(""); let downFen = pieces["b"].join("").toUpperCase(); - downFen = downFen.substr(0,8) + "/" + downFen.substr(8).split("").reverse().join(""); + downFen = downFen.substr(0,8) + "/" + + downFen.substr(8).split("").reverse().join(""); return upFen + "/8/8/8/8/" + downFen + " w 0"; } @@ -259,9 +257,10 @@ export class HiddenRules extends ChessRules { if (move.vanish.length == 2 && move.vanish[1].c != color) { // OK this isn't a castling move const myPieceVal = V.VALUES[move.appear[0].p]; - const hisPieceVal = Object.keys(V.HIDDEN_DECODE).includes(move.vanish[1].p) - ? undefined - : V.VALUES[move.vanish[1].p]; + const hisPieceVal = + Object.keys(V.HIDDEN_DECODE).includes(move.vanish[1].p) + ? undefined + : V.VALUES[move.vanish[1].p]; if (!hisPieceVal) { // Opponent's piece is unknown: do not take too much risk move.eval = -myPieceVal + 1.5; //so that pawns always take @@ -280,7 +279,8 @@ export class HiddenRules extends ChessRules { // If no capture, favor small step moves, // but sometimes move the knight anyway const penalty = V.Decode(move.vanish[0].p) != V.KNIGHT - ? Math.abs(move.end.x - move.start.x) + Math.abs(move.end.y - move.start.y) + ? Math.abs(move.end.x - move.start.x) + + Math.abs(move.end.y - move.start.y) : (Math.random() < 0.5 ? 3 : 1); move.eval -= penalty / (V.size.x + V.size.y - 1); }