headline += ' after ' + last_move;
}
} else if (data['position']['last_move'] !== 'none') {
+ // Find the previous move.
+ var previous_move_num, previous_toplay;
+ if (data['position']['toplay'] == 'B') {
+ previous_move_num = data['position']['move_num'];
+ previous_toplay = 'W';
+ } else {
+ previous_move_num = data['position']['move_num'] - 1;
+ previous_toplay = 'B';
+ }
+
last_move = format_move_with_number(
data['position']['last_move'],
- data['position']['move_num'],
- data['position']['toplay'] == 'B');
+ previous_move_num,
+ previous_toplay == 'W');
headline += ' after ' + last_move;
} else {
last_move = null;
for (var i = 1; i < alt_moves.length && i < 3; ++i) {
hiddenboard = new Chess(base_fen);
var move = hiddenboard.move(alt_moves[i]);
- create_arrow(move.from, move.to, '#f66', 1, 10);
+ if (move !== null) {
+ create_arrow(move.from, move.to, '#f66', 1, 10);
+ }
}
}