X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fbase_rules.js;h=4b9a139f885cebdcd9ec122ac03fd2ee6a648051;hb=e3e2cc443054cfb273b28b3ba46f559117c5ceae;hp=85f63a2a8d6e3837647a4e99bfe06de110bae852;hpb=a13cbc0f2c8cf46c0584118a11af9e3cd6bbdcb9;p=vchess.git diff --git a/client/src/base_rules.js b/client/src/base_rules.js index 85f63a2a..4b9a139f 100644 --- a/client/src/base_rules.js +++ b/client/src/base_rules.js @@ -46,12 +46,19 @@ export const ChessRules = class ChessRules { static get CanAnalyze() { return true; } + // Patch: issues with javascript OOP, objects can't access static fields. + get canAnalyze() { + return V.CanAnalyze; + } // Some variants show incomplete information, // and thus show only a partial moves list or no list at all. static get ShowMoves() { return "all"; } + get showMoves() { + return V.ShowMoves; + } // Turn "wb" into "B" (for FEN) static board2fen(b) { @@ -267,12 +274,13 @@ export const ChessRules = class ChessRules { pieces[c][knight2Pos] = "n"; pieces[c][rook2Pos] = "r"; } + // Add turn + flags + enpassant return ( pieces["b"].join("") + "/pppppppp/8/8/8/8/PPPPPPPP/" + pieces["w"].join("").toUpperCase() + " w 0 1111 -" - ); //add turn + flags + enpassant + ); } // "Parse" FEN: just return untransformed string data @@ -1254,7 +1262,7 @@ export const ChessRules = class ChessRules { // TODO: un-ambiguous notation (switch on piece type, check directions...) getNotation(move) { if (move.appear.length == 2 && move.appear[0].p == V.KING) - //castle + // Castle return move.end.y < move.start.y ? "0-0-0" : "0-0"; // Translate final square