X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=Position.pm;fp=Position.pm;h=b720116ca2c7aeff24efa6f90ba74001807f22ac;hp=6840e7fdd6dd342ff883bbbd45aa2e6ff7546716;hb=b152d77b071ee91ab291a636e651356ea42d98a6;hpb=21f55c578f83ecbe042d0af09b79402c9005cf0d diff --git a/Position.pm b/Position.pm index 6840e7f..b720116 100644 --- a/Position.pm +++ b/Position.pm @@ -28,8 +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->{'white_clock'} = _parse_fics_clock($x[24]); + $pos->{'black_clock'} = _parse_fics_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; @@ -300,4 +300,18 @@ sub _parse_uci_move { return ($from_row, $from_col, $to_row, $to_col, $promo); } +sub _parse_fics_clock { + my $x = shift; + if ($x =~ /^\d+$/) { + my $s = $x % 60; + $x = ($x - $s) / 60; + my $m = $x % 60; + $x = ($x - $m) / 60; + my $h = $x; + return sprintf "%02d:%02d:%02d", $h, $m, $s; + } else { + return $x; + } +} + 1;