X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=remoteglot.pl;h=bcc123caaefcfdad2bcf1fdc53ade30aa3ed0581;hp=a2a5e5ee9594646332d3657600113a0152fd49e4;hb=46a1a11685a2cc15b69b95a3af6aaf177027c25f;hpb=6023d7da024242fad8af8258a29472ad93a34671 diff --git a/remoteglot.pl b/remoteglot.pl old mode 100644 new mode 100755 index a2a5e5e..bcc123c --- a/remoteglot.pl +++ b/remoteglot.pl @@ -260,7 +260,7 @@ sub prettyprint_pv { } # white long castling - if ($pv eq 'e1b1' && $piece eq 'K') { + if ($pv eq 'e1c1' && $piece eq 'K') { my @nb = @$board; # king @@ -269,7 +269,7 @@ sub prettyprint_pv { # rook substr($nb[7], 0, 1, '-'); - substr($nb[7], 2, 1, 'R'); + substr($nb[7], 3, 1, 'R'); return ('0-0-0', prettyprint_pv(\@nb, @pvs)); } @@ -290,7 +290,7 @@ sub prettyprint_pv { } # black long castling - if ($pv eq 'e8b8' && $piece eq 'k') { + if ($pv eq 'e8c8' && $piece eq 'k') { my @nb = @$board; # king @@ -299,7 +299,7 @@ sub prettyprint_pv { # rook substr($nb[0], 0, 1, '-'); - substr($nb[0], 2, 1, 'R'); + substr($nb[0], 3, 1, 'R'); return ('0-0-0', prettyprint_pv(\@nb, @pvs)); } @@ -390,16 +390,24 @@ sub output_screen { if (defined($uciinfo{'score_mate'})) { printf " Mate in %d\n", $uciinfo{'score_mate'}; } else { - my $score = $uciinfo{'score_cp'} * 0.01; - if ($ficsinfo{'toplay'} eq 'B') { - $score = -$score; + if (exists($uciinfo{'score_cp'})) { + my $score = $uciinfo{'score_cp'} * 0.01; + if ($ficsinfo{'toplay'} eq 'B') { + $score = -$score; + } + printf " Score: %+5.2f\n", $score; } - printf " Score: %+5.2f\n", $score; } - print " PV: ", join(', ', prettyprint_pv($ficsinfo{'board'}, @{$uciinfo{'pv'}})); - print "\n"; - printf " %u nodes, %7u nodes/sec, depth %u ply", - $uciinfo{'nodes'}, $uciinfo{'nps'}, $uciinfo{'depth'}; + + if (exists($ficsinfo{'board'})) { + print " PV: ", join(', ', prettyprint_pv($ficsinfo{'board'}, @{$uciinfo{'pv'}})); + print "\n"; + } + + if (exists($uciinfo{'nodes'}) && exists($uciinfo{'nps'}) && exists($uciinfo{'depth'})) { + printf " %u nodes, %7u nodes/sec, depth %u ply", + $uciinfo{'nodes'}, $uciinfo{'nps'}, $uciinfo{'depth'}; + } if (exists($uciinfo{'tbhits'})) { printf ", %u Nalimov hits", $uciinfo{'tbhits'}; }