X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fbase_rules.js;h=6502679a3fb973fc326aa3aea2c4c90756fd6ab6;hb=e7cb433fafb1aa8dc83dabd4286332e808a544e3;hp=0f18dbec95a3538452390ddcb968d5b86a629e87;hpb=4258b58c6aff86ce69ebfbcd40d704836df27ac9;p=vchess.git diff --git a/client/src/base_rules.js b/client/src/base_rules.js index 0f18dbec..6502679a 100644 --- a/client/src/base_rules.js +++ b/client/src/base_rules.js @@ -158,11 +158,12 @@ export const ChessRules = class ChessRules { // Turn "p" into "bp" (for board) static fen2board(f) { - return f.charCodeAt() <= 90 ? "w" + f.toLowerCase() : "b" + f; + return f.charCodeAt(0) <= 90 ? "w" + f.toLowerCase() : "b" + f; } // Check if FEN describes a board situation correctly static IsGoodFen(fen) { +console.log("ddd"); const fenParsed = V.ParseFen(fen); // 1) Check position if (!V.IsGoodPosition(fenParsed.position)) return false; @@ -528,11 +529,11 @@ export const ChessRules = class ChessRules { } // Scan board for kings positions + // TODO: should be done from board, no need for the complete FEN scanKings(fen) { // Squares of white and black king: this.kingPos = { w: [-1, -1], b: [-1, -1] }; const fenRows = V.ParseFen(fen).position.split("/"); - const startRow = { 'w': V.size.x - 1, 'b': 0 }; for (let i = 0; i < fenRows.length; i++) { let k = 0; //column index on board for (let j = 0; j < fenRows[i].length; j++) { @@ -1073,7 +1074,7 @@ export const ChessRules = class ChessRules { this.board[rx][ry] != V.EMPTY && this.getPiece(rx, ry) == piece && this.getColor(rx, ry) == color && - this.canTake([rx, ry], [x, y]) + this.canTake([rx, ry], [x, y]) //for Paco-Sako (TODO: necessary?) ) { return true; }