X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=www%2Fjs%2Fremoteglot.js;h=4045bb54f7cdce2306d43d138f741c2cae5c71d9;hp=db816564829ca7a293be77c4ecc623cdccb89a2f;hb=23c6ef78cb21c7dac5a6a43c8f3c2875efa76891;hpb=6d612018059e2e69f3ac39657d667e438c83782d diff --git a/www/js/remoteglot.js b/www/js/remoteglot.js index db81656..4045bb5 100644 --- a/www/js/remoteglot.js +++ b/www/js/remoteglot.js @@ -7,7 +7,7 @@ * @type {Number} * @const * @private */ -var SCRIPT_VERSION = 2021010200; +var SCRIPT_VERSION = 2021010201; /** * The current backend URL. @@ -1300,6 +1300,11 @@ var update_board = function() { hiddenboard = new Chess(base_fen); hiddenboard.move(line['pv'][0]); var this_response = hiddenboard.move(line['pv'][1]); + if (this_response === null) { + console.log("BUG: ", i); + console.log(data); + console.log(line['pv']); + } if (response.from !== this_response.from || response.to !== this_response.to) { // Different response depending on lines, abort. response = undefined; @@ -2116,24 +2121,25 @@ var format_short_score = function(score) { if (!score) { return "???"; } - if (score[0] === 'tb') { + if (score[0] === 'T' || score[0] === 't') { var ret = "TB\u00a0"; if (score[2]) { // Is a bound. ret = score[2] + "\u00a0TB\u00a0"; } - if (score[1] > 0) { + if (score[0] === 'T') { return ret + Math.ceil(score[1] / 2); } else { return ret + "-" + Math.ceil(-score[1] / 2); } - } else if (score[0] === 'm') { + } else if (score[0] === 'M' || score[0] === 'm') { + var sign = (score[0] === 'm') ? '-' : ''; if (score[2]) { // Is a bound. - return score[2] + "\u00a0M " + score[1]; + return score[2] + "\u00a0M " + sign + score[1]; } else { - return "M " + score[1]; + return "M " + sign + score[1]; } } else if (score[0] === 'd') { - return "TB draw"; + return "TB =0"; } else if (score[0] === 'cp') { if (score[2]) { // Is a bound. return score[2] + "\u00a0" + fmt_cp(score[1]); @@ -2148,25 +2154,29 @@ var format_long_score = function(score) { if (!score) { return "???"; } - if (score[0] === 'tb') { - if (score[1] > 0) { - if (score[1] == 0) { - return "Won for white (tablebase)"; - } else { - return "White wins in " + Math.ceil(score[1] / 2); - } + if (score[0] === 'T') { + if (score[1] == 0) { + return "Won for white (tablebase)"; } else { - if (score[1] == -1) { - return "Won for black (tablebase)"; - } else { - return "Black wins in " + Math.ceil(-score[1] / 2); - } + return "White wins in " + Math.ceil(score[1]); } - } else if (score[0] === 'm') { - if (score[1] > 0) { + } else if (score[0] === 't') { + if (score[1] == -1) { + return "Won for black (tablebase)"; + } else { + return "Black wins in " + Math.ceil(score[1] / 2); + } + } else if (score[0] === 'M') { + if (score[1] == 0) { + return "White wins by checkmate"; + } else { return "White mates in " + score[1]; + } + } else if (score[0] === 'm') { + if (score[1] == 0) { + return "Black wins by checkmate"; } else { - return "Black mates in " + (-score[1]); + return "Black mates in " + score[1]; } } else if (score[0] === 'd') { return "Theoretical draw"; @@ -2177,12 +2187,10 @@ var format_long_score = function(score) { } var compute_plot_score = function(score) { - if (score[0] === 'm' || score[0] === 'tb') { - if (score[1] > 0) { - return 500; - } else { - return -500; - } + if (score[0] === 'M' || score[0] === 'T') { + return 500; + } else if (score[0] === 'm' || score[0] === 't') { + return -500; } else if (score[0] === 'd') { return 0; } else if (score[0] === 'cp') { @@ -2209,22 +2217,18 @@ var compute_score_sort_key = function(score, depth, invert, depth_secondary_key) if (!score) { return -10000000; } - if (score[0] === 'tb') { - if (score[1] > 0) { - // White reaches TB win. - s = 89999 - score[1]; - } else { - // Black reaches TB win (note the double negative for score[1]). - s = -89999 - score[1]; - } + if (score[0] === 'T') { + // White reaches TB win. + s = 89999 - score[1]; + } else if (score[0] === 't') { + // Black reaches TB win. + s = -(89999 - score[1]); + } else if (score[0] === 'M') { + // White mates. + s = 99999 - score[1]; } else if (score[0] === 'm') { - if (score[1] > 0) { - // White mates. - s = 99999 - score[1]; - } else { - // Black mates (note the double negative for score[1]). - s = -99999 - score[1]; - } + // Black mates. + s = -(99999 - score[1]); } else if (score[0] === 'd') { s = 0; } else if (score[0] === 'cp') {