ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/kgsueme/game.pl
(Generate patch)

Comparing kgsueme/kgsueme/game.pl (file contents):
Revision 1.44 by pcg, Tue Jun 3 19:03:35 2003 UTC vs.
Revision 1.49 by pcg, Tue Jun 10 09:06:39 2003 UTC

52 if (!$self->{moves}) { 52 if (!$self->{moves}) {
53 util::format_time $_[0] - $low; 53 util::format_time $_[0] - $low;
54 } else { 54 } else {
55 my $time = int (($_[0] - 1) % $interval + 1); 55 my $time = int (($_[0] - 1) % $interval + 1);
56 56
57 sprintf "%s/%d {%d}", 57 sprintf "%s/%d [%d]",
58 util::format_time $time, 58 util::format_time $time,
59 $self->{moves}, 59 $self->{moves},
60 $time / ($self->{moves} || 1); 60 $time / ($self->{moves} || 1);
61 61
62 } 62 }
230 230
231 { 231 {
232 $frame->add(my $vbox = new Gtk2::VBox); 232 $frame->add(my $vbox = new Gtk2::VBox);
233 $vbox->add($self->{title} = new Gtk2::Label $title); 233 $vbox->add($self->{title} = new Gtk2::Label $title);
234 234
235 $self->{moveadj} = new Gtk2::Adjustment 0, 0, 0, 1, 1, 0; 235 $self->{moveadj} = new Gtk2::Adjustment 1, 1, 1, 1, 1, 0;
236 236
237 $vbox->add(my $scale = new Gtk2::HScale $self->{moveadj}); 237 $vbox->add(my $scale = new Gtk2::HScale $self->{moveadj});
238 $scale->set_draw_value (0); 238 $scale->set_draw_value (0);
239 $scale->set_digits (0); 239 $scale->set_digits (0);
240 240
646 646
647sub update_board { 647sub update_board {
648 my ($self) = @_; 648 my ($self) = @_;
649 return unless $self->{path}; 649 return unless $self->{path};
650 650
651 #$self->{update_board_cb} ||= add Glib::Idle sub {
651 my $move = int $self->{moveadj}->get_value; 652 my $move = int $self->{moveadj}->get_value;
652 653
653 warn "update_board called $move\n";#d# 654 warn "update_board called $move\n";#d#
654 655
655 my $running = $move == @{$self->{path}}; 656 my $running = $move == @{$self->{path}};
656 657
657 $self->{board_label}->set_text ("Move $move"); 658 $self->{board_label}->set_text ("Move " . ($move - 1));
658 659
659 $self->{board} = new KGS::Game::Board $self->{size}; 660 $self->{board} = new KGS::Game::Board $self->{size};
660 $self->{board}->interpret_path ([@{$self->{path}}[0 .. $move - 1]]); 661 $self->{board}->interpret_path ([@{$self->{path}}[0 .. $move - 1]]);
661 662
662 for my $colour (WHITE, BLACK) { 663 for my $colour (WHITE, BLACK) {
663 $self->{userpanel}[$colour]->set_state ( 664 $self->{userpanel}[$colour]->set_state (
664 $self->{board}{captures}[$colour], 665 $self->{board}{captures}[$colour],
665 $self->{board}{timer}[$colour], 666 $self->{board}{timer}[$colour],
666 ($running && $self->{lastmove_colour} == !$colour) 667 ($running && $self->{lastmove_colour} == !$colour)
667 ? $self->{lastmove_time} : 0 668 ? $self->{lastmove_time} : 0
668 ); 669 );
669 } 670 }
670 671
671 $self->redraw ($self->repaint_board); 672 $self->redraw ($self->repaint_board);
673
674 # delete $self->{update_board_cb};
675 #}
672} 676}
673 677
674sub event_update_tree { 678sub event_update_tree {
675 my ($self) = @_; 679 my ($self) = @_;
676 680
677 $self->{path} = $self->get_path; 681 $self->{path} = $self->get_path;
678 682
679 if ($self->{moveadj}) { 683 if ($self->{moveadj}) {
680 my $upper = $self->{moveadj}->upper; 684 my $upper = $self->{moveadj}->upper;
681 my $pos = $self->{moveadj}->get_value; 685 my $pos = $self->{moveadj}->get_value;
686 my $move = scalar @{$self->{path}};
682 687
683 $self->{moveadj}->upper (scalar @{$self->{path}}); 688 $self->{moveadj}->upper ($move);
684 689
685 warn "UPDATE_TREE $pos,$upper";#d# 690 warn "UPDATE_TREE $pos,$upper";#d#
686 $self->{moveadj}->changed; 691 $self->{moveadj}->changed;
687 if ($pos == $upper) { 692 if ($pos == $upper) {
688 $self->{moveadj}->set_value (scalar @{$self->{path}}); 693 $self->{moveadj}->value ($move);
689 } else {
690 $self->{moveadj}->value_changed; 694 $self->{moveadj}->value_changed;
691 } 695 }
692 } 696 }
693} 697}
694 698
782 $text .= "\nHandicap: " . $self->{handicap}; 786 $text .= "\nHandicap: " . $self->{handicap};
783 $text .= "\nKomi: " . $self->{komi}; 787 $text .= "\nKomi: " . $self->{komi};
784 $text .= "\nSize: " . $self->size_string; 788 $text .= "\nSize: " . $self->size_string;
785 } 789 }
786 790
791 if ($self->is_scored) {
792 $text .= "\nResult: " . $self->score_string;
793 }
794
787 $self->{text}->append_text ("<infoblock>$text</infoblock>"); 795 $self->{text}->append_text ("<infoblock>$text</infoblock>");
788} 796}
789 797
790sub event_update_rules { 798sub event_update_rules {
791 my ($self, $rules) = @_; 799 my ($self, $rules) = @_;
798 $text .= "\nRuleset: " . $ruleset{$rules->{ruleset}}; 806 $text .= "\nRuleset: " . $ruleset{$rules->{ruleset}};
799 807
800 $text .= "\nTime: "; 808 $text .= "\nTime: ";
801 809
802 if ($rules->{timesys} == TIMESYS_NONE) { 810 if ($rules->{timesys} == TIMESYS_NONE) {
803 $text .= "infinite"; 811 $text .= "UNLIMITED";
804 } elsif ($rules->{timesys} == TIMESYS_ABSOLUTE) { 812 } elsif ($rules->{timesys} == TIMESYS_ABSOLUTE) {
805 $text .= util::format_time $rules->{time}; 813 $text .= util::format_time $rules->{time};
814 $text .= " ABS";
806 } elsif ($rules->{timesys} == TIMESYS_BYO_YOMI) { 815 } elsif ($rules->{timesys} == TIMESYS_BYO_YOMI) {
807 $text .= util::format_time $rules->{time} - $rules->{interval} * $rules->{count}; 816 $text .= util::format_time $rules->{time} - $rules->{interval} * $rules->{count};
808 $text .= sprintf " + %s (%d)", util::format_time $rules->{interval}, $rules->{count}; 817 $text .= sprintf " + %s (%d) BY", util::format_time $rules->{interval}, $rules->{count};
809 } elsif ($rules->{timesys} == TIMESYS_CANADIAN) { 818 } elsif ($rules->{timesys} == TIMESYS_CANADIAN) {
810 $text .= util::format_time $rules->{time}; 819 $text .= util::format_time $rules->{time};
811 $text .= sprintf " + %s/%d", util::format_time $rules->{interval}, $rules->{count}; 820 $text .= sprintf " + %s/%d CAN", util::format_time $rules->{interval}, $rules->{count};
812 } 821 }
813 822
814 $self->{text}->append_text ("<infoblock>$text</infoblock>"); 823 $self->{text}->append_text ("<infoblock>$text</infoblock>");
815} 824}
816 825

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines