X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=Position.pm;h=807b0035876e3a261dae1f2e0097c371d7160953;hp=9333bcd58af514badb9a7b31463a4c00763da609;hb=d40118a8adcb0da790ab1087296287e7eeab7c2c;hpb=1c3cd7877f58e65919bc870f1945be115b5ec2d1 diff --git a/Position.pm b/Position.pm index 9333bcd..807b003 100644 --- a/Position.pm +++ b/Position.pm @@ -28,6 +28,8 @@ sub new { $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; @@ -73,27 +75,12 @@ sub fen { 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 .= " ";