KGS

 view release on metacpan or  search on metacpan

kgsueme/game.pl  view on Meta::CPAN

      $self->{userpanel}[$_]->configure ($self->{app}, $self->{user}[$_], $rules)
         for COLOUR_BLACK, COLOUR_WHITE;
   }

   sound::play 3, "gamestart";
   $self->{rules_inlay}->refresh;
}

### BOARD DISPLAY ###########################################################

sub update_timers {
   my ($self, $timers) = @_;

   my $running = $self->{showmove} == @{$self->{path}} && !$self->{teacher};

   for my $colour (COLOUR_BLACK, COLOUR_WHITE) {
      my $t = $timers->[$colour];
      $self->{userpanel}[$colour]->set_timer (
            $running && $colour == $self->{whosemove} && $t->[0],
            $t->[1] || $self->{rules}{time}
                       + ($self->{rules}{timesys} == TIMESYS_BYO_YOMI

kgsueme/game.pl  view on Meta::CPAN


   $self->{timers} = [
      [$msg->{NOW}, $msg->{black_time}, $msg->{black_moves}],
      [$msg->{NOW}, $msg->{white_time}, $msg->{white_moves}],
   ];

   $self->update_timers ($self->{timers})
      if $self->{showmove} == @{$self->{path}};
}

sub update_cursor {
   my ($self) = @_;

   return unless $self->{cur_board};

   if ($self->{rules}{ruleset} == RULESET_JAPANESE) {
      if ($self->{curnode}{move} == 0) {
         $self->{whosemove} = $self->{handicap} ? COLOUR_WHITE : COLOUR_BLACK;
      } else {
         $self->{whosemove} = 1 - $self->{cur_board}{last};
      }

kgsueme/game.pl  view on Meta::CPAN

      }
   } else {
      $self->{button_undo}->hide;
      $self->{button_resign}->hide;
      $self->{button_pass}->hide;
      $self->{board}->set (cursor => undef);
      #TODO# # implement coordinate-grabbing
   }
}

sub update_board {
   my ($self) = @_;

   return unless $self->{path};

   $self->{board_label}->set_text ("Move " . ($self->{showmove} - 1));

   $self->{cur_board} = new KGS::Game::Board $self->{size};
   $self->{cur_board}->interpret_path ([@{$self->{path}}[0 .. $self->{showmove} - 1]]);

   $self->{userpanel}[$_]->set_captures ($self->{cur_board}{captures}[$_])

kgsueme/gamelist.pl  view on Meta::CPAN

   $self->{view2}->signal_connect(row_activated => sub {
      my ($widget, $path, $column) = @_;
      my $game = $self->{model2}->get ($self->{model2}->get_iter ($path), 0);
      $self->{app}->open_game (%$game) unless $game->is_private;
      1;
   });

   $self;
}

sub update {
   my ($self, $room, $add, $update, $remove) = @_;

   $self->{games}{$room->{name}} = $room->{games};

   my $m1 = $self->{model1};
   my $m2 = $self->{model2};

   for (@$remove) {
      (delete $_->{model})->remove (delete $_->{iter}) if $_->{model};
   }

kgsueme/userlist.pl  view on Meta::CPAN

      my ($widget, $path, $column) = @_;
      my $user = $self->{users}{$self->{model}->get ($self->{model}->get_iter ($path), 0)}
         or return 1;
      warn "selected user $user\n";
      1;
   });

   $self;
}

sub update {
   my ($self, $add, $update, $remove) = @_;

   my $l = $self->{model};

   for (@$remove) {
      $l->remove (delete $_->{iter}) if $_->{iter};
   }

   for (@$add, @$update) {
      $l->set ($_->{iter} ||= $l->append,

lib/KGS/Game/Tree.pm  view on Meta::CPAN

);

sub init_tree {
   my ($self) = @_;
   $self->{tree} = [ {
      id   => 0,
      move => -1,
   } ];
}

sub update_tree {
   my ($self, $tree) = @_;

   my $node = $self->{curnode};

   my $up_tree;
   my $up_move;

   #Carp::cluck KGS::Listener::Debug::dumpval $tree;#d#

   #warn "update_tree = ".KGS::Listener::Debug::dumpval $tree;#d#



( run in 0.441 second using v1.01-cache-2.11-cpan-beeb90c9504 )