} else {
# single-PV
if (defined($uciinfo{'score_mate'})) {
- printf " Mate in %d\n", $uciinfo{'score_mate'};
+ my $mate = $uciinfo{'score_mate'};
+ if ($ficsinfo{'toplay'} eq 'B') {
+ $mate = -$mate;
+ }
+ if ($mate > 0) {
+ printf " White mates in %u\n", $mate;
+ } else {
+ printf " Black mates in %u\n", -$mate;
+ }
} else {
if (exists($uciinfo{'score_cp'})) {
my $score = $uciinfo{'score_cp'} * 0.01;
for my $row (0..7) {
for my $col (0..7) {
my $piece = substr($board->[$row], $col, 1);
- next if ($piece eq '-' || lc($piece) eq 'k');
+ next if ($piece eq '-');
if (uc($piece) eq $piece) {
# white piece