print UCIWRITE "setoption name UCI_AnalyseMode value true\n";
print UCIWRITE "setoption name NalimovPath value c:\\nalimov\n";
print UCIWRITE "setoption name NalimovUsage value Normally\n";
+# print UCIWRITE "setoption name Contempt value 1000\n";
+# print UCIWRITE "setoption name Outlook value Ultra Optimistic\n";
print UCIWRITE "ucinewgame\n";
print "Chess engine ready.\n";
print "FICS ready.\n";
while (1) {
my $rin = '';
+ my $rout;
vec($rin, fileno(UCIREAD), 1) = 1;
vec($rin, fileno($t), 1) = 1;
- my ($nfound, $timeleft) = select($rin, undef, undef, 5.0);
+ my ($nfound, $timeleft) = select($rout=$rin, undef, undef, 5.0);
my $sleep = 1.0;
while (1) {
}
# any fun on the UCI channel?
- if (vec($rin, fileno(UCIREAD), 1)) {
+ if ($nfound > 0 && vec($rout, fileno(UCIREAD), 1) == 1) {
my $line = <UCIREAD>;
chomp $line;
$line =~ tr/\r//d;
$uciinfo{'pv'} = [ @x[1..$#x] ];
last;
}
- if ($x[0] eq 'UCI_AnalyseMode' || $x[0] eq 'setting') {
+ if ($x[0] eq 'UCI_AnalyseMode' || $x[0] eq 'setting' || $x[0] eq 'contempt') {
last;
}