X-Git-Url: https://git.auder.net/images/pieces/current/gitweb.js?a=blobdiff_plain;f=public%2Fjavascripts%2Fbase_rules.js;h=891948b91dddcb1aab0a895d7fcb2f21c49494c8;hb=5915f72002ae63b04620cebe47adf778174b1bee;hp=ba77d7187538a7d98749c257c5ff10a39ab416c2;hpb=6e62b1c7d177585003e923d423025dff280a7525;p=vchess.git diff --git a/public/javascripts/base_rules.js b/public/javascripts/base_rules.js index ba77d718..891948b9 100644 --- a/public/javascripts/base_rules.js +++ b/public/javascripts/base_rules.js @@ -137,9 +137,9 @@ class ChessRules } // d --> 3 (column letter to number) - static ColumnToCoord(colnum) + static ColumnToCoord(column) { - return String.fromCharCode(97 + colnum); + return column.charCodeAt(0) - 97; } // a4 --> {x:3,y:0} @@ -975,8 +975,20 @@ class ChessRules // After move is played, update variables + flags updateVariables(move) { - const piece = move.vanish[0].p; - let c = move.vanish[0].c; + let piece = undefined; + let c = undefined; + if (move.vanish.length >= 1) + { + // Usual case, something is moved + piece = move.vanish[0].p; + c = move.vanish[0].c; + } + else + { + // Crazyhouse-like variants + piece = move.appear[0].p; + c = move.appear[0].c; + } if (c == "c") //if (!["w","b"].includes(c)) { // 'c = move.vanish[0].c' doesn't work for Checkered