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.77 by pcg, Sat Aug 2 14:45:36 2003 UTC vs.
Revision 1.81 by pcg, Fri Apr 2 23:22:30 2004 UTC

263 $sw->add(($self->{userlist} = new userlist)->widget); 263 $sw->add(($self->{userlist} = new userlist)->widget);
264 264
265 $self->{vpane}->add(my $vbox = new Gtk2::VBox); 265 $self->{vpane}->add(my $vbox = new Gtk2::VBox);
266 266
267 $vbox->pack_start((my $hbox = new Gtk2::HBox 1), 0, 1, 0); 267 $vbox->pack_start((my $hbox = new Gtk2::HBox 1), 0, 1, 0);
268 $hbox->add (($self->{userpanel}[WHITE] = new game::userpanel colour => WHITE)->widget); 268 $hbox->add (($self->{userpanel}[COLOUR_WHITE] = new game::userpanel colour => COLOUR_WHITE)->widget);
269 $hbox->add (($self->{userpanel}[BLACK] = new game::userpanel colour => BLACK)->widget); 269 $hbox->add (($self->{userpanel}[COLOUR_BLACK] = new game::userpanel colour => COLOUR_BLACK)->widget);
270 270
271 $vbox->pack_start(($self->{chat} = new chat), 1, 1, 0); 271 $vbox->pack_start(($self->{chat} = new chat), 1, 1, 0);
272 272
273 $self->{chat}->signal_connect(command => sub { 273 $self->{chat}->signal_connect(command => sub {
274 my ($chat, $cmd, $arg) = @_; 274 my ($chat, $cmd, $arg) = @_;
333 $self->{board_label}->set_text ("Move " . ($move - 1)); 333 $self->{board_label}->set_text ("Move " . ($move - 1));
334 334
335 $self->{cur_board} = new KGS::Game::Board $self->{size}; 335 $self->{cur_board} = new KGS::Game::Board $self->{size};
336 $self->{cur_board}->interpret_path ([@{$self->{path}}[0 .. $move - 1]]); 336 $self->{cur_board}->interpret_path ([@{$self->{path}}[0 .. $move - 1]]);
337 337
338 for my $colour (WHITE, BLACK) { 338 for my $colour (COLOUR_WHITE, COLOUR_BLACK) {
339 $self->{userpanel}[$colour]->set_state ( 339 $self->{userpanel}[$colour]->set_state (
340 $self->{cur_board}{captures}[$colour], 340 $self->{cur_board}{captures}[$colour],
341 $self->{cur_board}{timer}[$colour], 341 $self->{cur_board}{timer}[$colour],
342 ($running && $self->{lastmove_colour} == !$colour) 342 ($running && $self->{lastmove_colour} == !$colour)
343 ? $self->{lastmove_time} : 0 343 ? $self->{lastmove_time} : 0
430 ? $self->owner->as_string . " " . $self->opponent_string 430 ? $self->owner->as_string . " " . $self->opponent_string
431 : "Game Window"; 431 : "Game Window";
432 $self->{window}->set_title("KGS Game $title"); 432 $self->{window}->set_title("KGS Game $title");
433 $self->{title}->set_text ($title); 433 $self->{title}->set_text ($title);
434 434
435 $self->{user}[BLACK] = $self->{user1}; 435 $self->{user}[COLOUR_BLACK] = $self->{user1};
436 $self->{user}[WHITE] = $self->{user2}; 436 $self->{user}[COLOUR_WHITE] = $self->{user2};
437 437
438 # show board 438 # show board
439 439
440 if ($self->is_valid) { 440 if ($self->is_inprogress) {
441 #D# TODO: check wether already inside, or already removed!!!
442 $self->{left}->add ($self->{boardbox});
443 $self->{left}->remove ($self->{challenge}->widget) if $self->{challenge}; 441 $self->{left}->remove ($self->{challenge}->widget) if $self->{challenge} && $self->{boardbox}->parent;
442 $self->{left}->add ($self->{boardbox}) unless $self->{boardbox}->parent;
444 } else { 443 } else {
445 #D# TODO: check wether already inside, or already removed!!!
446 $self->{left}->add ($self->{challenge}->widget);
447 $self->{left}->remove ($self->{boardbox}); 444 $self->{left}->remove ($self->{boardbox}) if $self->{boardbox}->parent;
445 $self->{left}->add ($self->{challenge}->widget) unless $self->{challenge}->widget->parent;
448 } 446 }
449 $self->{left}->show_all; 447 $self->{left}->show_all;
450 448
451 # view text 449 # view text
452 450
453 eval { #d# 451 eval { #d#
454 my @ga; 452 my @ga;
455 $ga[0] = "\nType: " . (util::toxml $gametype{$self->type}) 453 $ga[0] = "\nType: " . (util::toxml $gametype{$self->type})
456 . " (" . (util::toxml $gameopt{$self->option}) . ")"; 454 . " (" . (util::toxml $gameopt{$self->option}) . ")";
457 $ga[1] = "\nFlags:"; 455 $ga[1] = "\nFlags:";
458 $ga[1] .= " valid" if $self->is_valid; 456 $ga[1] .= " started" if $self->is_inprogress;
459 $ga[1] .= " adjourned" if $self->is_adjourned; 457 $ga[1] .= " adjourned" if $self->is_adjourned;
460 $ga[1] .= " scored" if $self->is_scored; 458 $ga[1] .= " scored" if $self->is_scored;
461 $ga[1] .= " saved" if $self->is_saved; 459 $ga[1] .= " saved" if $self->is_saved;
462 460
463 $ga[2] = "\nOwner: <user>" . (util::toxml $self->{user3}->as_string) . "</user>" if $self->{user3}->is_valid; 461 $ga[2] = "\nOwner: <user>" . (util::toxml $self->{user3}->as_string) . "</user>"
462 if $self->{user3}->is_inprogress;
464 463
465 $ga[3] = "\nPlayers: <user>" . (util::toxml $self->{user2}->as_string) . "</user>" 464 $ga[3] = "\nPlayers: <user>" . (util::toxml $self->{user2}->as_string) . "</user>"
466 . " vs. <user>" . (util::toxml $self->{user1}->as_string) . "</user>" 465 . " vs. <user>" . (util::toxml $self->{user1}->as_string) . "</user>"
467 if $self->is_valid; 466 if $self->is_inprogress;
468 467
469 if ($self->is_valid) { 468 if ($self->is_inprogress) {
470 $ga[4] = "\nHandicap: " . $self->{handicap}; 469 $ga[4] = "\nHandicap: " . $self->{handicap};
471 $ga[5] = "\nKomi: " . $self->{komi}; 470 $ga[5] = "\nKomi: " . $self->{komi};
472 $ga[6] = "\nSize: " . $self->size_string; 471 $ga[6] = "\nSize: " . $self->size_string;
473 } 472 }
474 473
492 491
493sub event_update_rules { 492sub event_update_rules {
494 my ($self, $rules) = @_; 493 my ($self, $rules) = @_;
495 494
496 $self->{userpanel}[$_]->configure ($self->{app}, $self->{user}[$_], $rules) 495 $self->{userpanel}[$_]->configure ($self->{app}, $self->{user}[$_], $rules)
497 for BLACK, WHITE; 496 for COLOUR_BLACK, COLOUR_WHITE;
498 497
499 sound::play 3, "gamestart"; 498 sound::play 3, "gamestart";
500 499
501 my $text = "\n<header>Game Rules</header>"; 500 my $text = "\n<header>Game Rules</header>";
502 501
508 $text .= "UNLIMITED"; 507 $text .= "UNLIMITED";
509 } elsif ($rules->{timesys} == TIMESYS_ABSOLUTE) { 508 } elsif ($rules->{timesys} == TIMESYS_ABSOLUTE) {
510 $text .= util::format_time $rules->{time}; 509 $text .= util::format_time $rules->{time};
511 $text .= " ABS"; 510 $text .= " ABS";
512 } elsif ($rules->{timesys} == TIMESYS_BYO_YOMI) { 511 } elsif ($rules->{timesys} == TIMESYS_BYO_YOMI) {
513 $text .= util::format_time $rules->{time} - $rules->{interval} * $rules->{count}; 512 $text .= util::format_time $rules->{time};
514 $text .= sprintf " + %s (%d) BY", util::format_time $rules->{interval}, $rules->{count}; 513 $text .= sprintf " + %s (%d) BY", util::format_time $rules->{interval}, $rules->{count};
515 } elsif ($rules->{timesys} == TIMESYS_CANADIAN) { 514 } elsif ($rules->{timesys} == TIMESYS_CANADIAN) {
516 $text .= util::format_time $rules->{time}; 515 $text .= util::format_time $rules->{time};
517 $text .= sprintf " + %s/%d CAN", util::format_time $rules->{interval}, $rules->{count}; 516 $text .= sprintf " + %s/%d CAN", util::format_time $rules->{interval}, $rules->{count};
518 } 517 }
551sub destroy { 550sub destroy {
552 my ($self) = @_; 551 my ($self) = @_;
553 552
554 delete $self->{app}{gamelist}{game}{$self->{channel}}; 553 delete $self->{app}{gamelist}{game}{$self->{channel}};
555 $self->{userpanel}[$_] && (delete $self->{userpanel}[$_])->destroy 554 $self->{userpanel}[$_] && (delete $self->{userpanel}[$_])->destroy
556 for BLACK, WHITE; 555 for COLOUR_BLACK, COLOUR_WHITE;
557 $self->SUPER::destroy; 556 $self->SUPER::destroy;
558} 557}
559 558
5601; 5591;
561 560

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines