KGS
view release on metacpan or search on metacpan
kgsueme/game.pl view on Meta::CPAN
543544545546547548549550551552553554555556557558559560561562563
$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
571572573574575576577578579580581582583584585586587588589590591
$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
667668669670671672673674675676677678679680681682683684685686687
}
}
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
127128129130131132133134135136137138139140141142143144145146147
$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
373839404142434445464748495051525354555657
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
181920212223242526272829303132333435363738);
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.592 second using v1.01-cache-2.11-cpan-49f99fa48dc )