* name: string,
* url: string,
* id: string,
- * score: =Object,
- * result: =string,
+ * score: Object=,
+ * result: string=,
* }>}
* @private
*/
* @param {!Object} data
* @param {number} margin The maximum number of centipawns worse than the
* best move can be and still be included.
- * @param {boolean} margin Whether black is to play.
+ * @param {boolean} invert Whether black is to play.
* @return {Array.<string>} The FEN representation (e.g. Ne4) of all
* moves, in score order.
*/
var pv_score = undefined;
for (var move in data['refutation_lines']) {
var line = data['refutation_lines'][move];
- var score = compute_score_sort_key(line['score'], line['depth'], invert);
+ var score = compute_score_sort_key(line['score'], line['depth'], invert, false);
if (move == data['pv'][0]) {
pv_score = score;
}
// from the start.
var hiddenboard = chess_from(null, current_display_line.pv, current_display_move);
var moves = hiddenboard.history({ verbose: true });
- var last_move = moves.pop();
+ last_move = moves.pop();
highlight_from = last_move.from;
highlight_to = last_move.to;
} else {
break;
}
var line = data['refutation_lines'][nonstupid_moves[i]];
- var hiddenboard = new Chess(base_fen);
+ hiddenboard = new Chess(base_fen);
hiddenboard.move(line['pv'][0]);
var this_response = hiddenboard.move(line['pv'][1]);
if (response.from !== this_response.from || response.to !== this_response.to) {
var white_clock_ms = null;
var black_clock_ms = null;
- var show_seconds = false;
// Static clocks.
if (data['position'] &&
* @param score The score digest tuple.
* @param {?number} depth Depth the move has been computed to, or null.
* @param {boolean} invert Whether black is to play.
+ * @param {boolean=} depth_secondary_key
* @return {number}
*/
-var compute_score_sort_key = function(score, depth, invert) {
+var compute_score_sort_key = function(score, depth, invert, depth_secondary_key) {
var s;
if (!score) {
return -10000000;
}
if (s) {
if (invert) s = -s;
- return s * 200 + (depth || 0);
+ if (depth_secondary_key) {
+ return s * 200 + (depth || 0);
+ } else {
+ return s;
+ }
} else {
return null;
}