$pos->{'player_b'} = $x[18];
$pos->{'player_w'} =~ s/^W?[FCIG]M//;
$pos->{'player_b'} =~ s/^W?[FCIG]M//;
+ $pos->{'white_clock'} = $x[24];
+ $pos->{'black_clock'} = $x[25];
$pos->{'move_num'} = $x[26];
if ($x[27] =~ /([a-h][1-8])-([a-h][1-8])/) {
$pos->{'last_move_uci'} = $1 . $2;
my $ep = "-";
if ($pos->{'ep_file_num'} != -1) {
my $col = $pos->{'ep_file_num'};
- my $nep = (qw(a b c d e f g h))[$col];
+ $ep = (qw(a b c d e f g h))[$col];
if ($pos->{'toplay'} eq 'B') {
- $nep .= "3";
+ $ep .= "3";
} else {
- $nep .= "6";
- }
-
- #
- # Showing the en passant square when actually no capture can be made
- # seems to confuse at least Rybka. Thus, check if there's actually
- # a pawn of the opposite side that can do the en passant move, and if
- # not, just lie -- it doesn't matter anyway. I'm unsure what's the
- # "right" thing as per the standard, though.
- #
- if ($pos->{'toplay'} eq 'B') {
- $ep = $nep if ($col > 0 && $pos->{'board'}[4][$col-1] eq 'p');
- $ep = $nep if ($col < 7 && $pos->{'board'}[4][$col+1] eq 'p');
- } else {
- $ep = $nep if ($col > 0 && $pos->{'board'}[3][$col-1] eq 'P');
- $ep = $nep if ($col < 7 && $pos->{'board'}[3][$col+1] eq 'P');
+ $ep .= "6";
}
}
$fen .= " ";