… | |
… | |
39 | if ($_[0] > $low) { |
39 | if ($_[0] > $low) { |
40 | util::format_time $_[0] - $low; |
40 | util::format_time $_[0] - $low; |
41 | } else { |
41 | } else { |
42 | sprintf "%s (%d)", |
42 | sprintf "%s (%d)", |
43 | util::format_time int (($_[0] - 1) % $interval + 1), |
43 | util::format_time int (($_[0] - 1) % $interval + 1), |
44 | $_[0] / $interval; |
44 | ($_[0] - 1) / $interval; |
45 | } |
45 | } |
46 | }; |
46 | }; |
47 | |
47 | |
48 | } elsif ($timesys == TIMESYS_CANADIAN) { |
48 | } elsif ($timesys == TIMESYS_CANADIAN) { |
49 | $self->{set} = sub { $self->{time} = $_[0]; $self->{moves} = $_[1] }; |
49 | $self->{set} = sub { $self->{time} = $_[0]; $self->{moves} = $_[1] }; |
… | |
… | |
678 | my $upper = $self->{moveadj}->upper; |
678 | my $upper = $self->{moveadj}->upper; |
679 | my $pos = $self->{moveadj}->get_value; |
679 | my $pos = $self->{moveadj}->get_value; |
680 | |
680 | |
681 | $self->{moveadj}->upper (scalar @{$self->{path}}); |
681 | $self->{moveadj}->upper (scalar @{$self->{path}}); |
682 | |
682 | |
|
|
683 | warn "UPDATE_TREE $pos,$upper";#d# |
683 | $self->{moveadj}->changed; |
684 | $self->{moveadj}->changed; |
684 | if ($pos == $upper) { |
685 | if ($pos == $upper) { |
685 | $self->{moveadj}->set_value (scalar @{$self->{path}}); |
686 | $self->{moveadj}->set_value (scalar @{$self->{path}}); |
686 | } else { |
687 | } else { |
687 | $self->{moveadj}->value_changed; |
688 | $self->{moveadj}->value_changed; |
… | |
… | |
711 | \b |
712 | \b |
712 | (?:[bw])? |
713 | (?:[bw])? |
713 | [, ]{0,2} |
714 | [, ]{0,2} |
714 | [a-hj-t] # valid for upto 19x19 |
715 | [a-hj-t] # valid for upto 19x19 |
715 | \s? |
716 | \s? |
716 | [0-9]{1,2} |
717 | [1-9]?[0-9] |
717 | \b |
718 | \b |
718 | ) |
719 | ) |
719 | }{ |
720 | }{ |
720 | "<coord>$1</coord>"; |
721 | "<coord>$1</coord>"; |
721 | }sgexi; |
722 | }sgexi; |
… | |
… | |
821 | } |
822 | } |
822 | |
823 | |
823 | sub inject_final_result { |
824 | sub inject_final_result { |
824 | my ($self, $msg) = @_; |
825 | my ($self, $msg) = @_; |
825 | |
826 | |
826 | $self->{text}->append_text ("\n<header>Game Over</header>" |
827 | $self->{text}->append_text ("<infoblock>\n<header>Game Over</header>" |
827 | . "\nWhite Score " . (util::toxml $msg->{whitescore}->as_string) |
828 | . "\nWhite Score " . (util::toxml $msg->{whitescore}->as_string) |
828 | . "\nBlack Score " . (util::toxml $msg->{blackscore}->as_string) |
829 | . "\nBlack Score " . (util::toxml $msg->{blackscore}->as_string) |
|
|
830 | . "</infoblock>" |
829 | ); |
831 | ); |
830 | } |
832 | } |
831 | |
833 | |
832 | sub destroy { |
834 | sub destroy { |
833 | my ($self) = @_; |
835 | my ($self) = @_; |