--- kgsueme/bin/kgsueme 2003/06/01 10:10:20 1.38 +++ kgsueme/bin/kgsueme 2003/07/25 17:48:30 1.53 @@ -14,9 +14,12 @@ use Errno; use Storable; +use Carp; init Gtk2; +$SIG{QUIT} = sub { Carp::confess "SIGQUIT" }; + our $HACK = 1; # do NEVER enable. ;) our $DEBUG_EXPOSE = 0; @@ -24,44 +27,70 @@ $KGS::debug = 1; } -our $VERSION = "0.1"; +BEGIN { + our $VERSION = "0.1"; -our $config; -our $LIBDIR = "."; -our $APPDIR = "$LIBDIR/kgsueme"; -our $IMGDIR = "$LIBDIR/images"; -our $SNDDIR = "$LIBDIR/sounds"; - -for (qw(util.pl gtk.pl image.pl sound.pl gamelist.pl userlist.pl game.pl room.pl roomlist.pl appwin.pl)) { - print "loading module $_\n"; - require "$APPDIR/$_"; + our $config; + our $LIBDIR = "."; + our $APPDIR = "$LIBDIR/kgsueme"; + our $IMGDIR = "$LIBDIR/images"; + our $SNDDIR = "$LIBDIR/sounds"; + + for (qw(util.pl gtk.pl chat.pl image.pl sound.pl user.pl gamelist.pl userlist.pl challenge.pl + board.pl game.pl room.pl roomlist.pl app.pl)) { + require "$APPDIR/$_"; + } } -our $appwin = new appwin; +our $app = new app; -if (0 && -f "testboard.storable") { +if (0) { use KGS::Constants; for (19) { - my $board = new game %{Storable::retrieve "testboard.storable"}; + my $game = new game size => $_; + + if (1) { + my $data = Storable::retrieve "board1.dat"; + while (my ($k, $v) = each %$data) { + $game->{$k} = $v; + } + $game->event_update_tree; + } if (0) { - $board->{board} = new KGS::Game::Board; - $board->{board}{board}[0][0] = MARK_B; - $board->{board}{board}[1][1] = MARK_GRAY_B | MARK_SMALL_W; - $board->{board}{board}[2][2] = MARK_W | MARK_TRIANGLE; - $board->{board}{board}[1][2] = MARK_B | MARK_LABEL; - $board->{board}{label}[1][2] = "198"; - $board->{board}{board}[0][2] = MARK_W | MARK_LABEL; - $board->{board}{label}[0][2] = "AWA"; + $game->{cur_board} = new KGS::Game::Board; + my @x = ( + #MARK_B, + #MARK_W, + #MARK_GRAY_B | MARK_SMALL_W, + #MARK_GRAY_W | MARK_SMALL_B, + #MARK_W | MARK_TRIANGLE, + 0, 0, 0, + ); + for $x (0..18) { + for $y (0..18) { + $game->{cur_board}{board}[$x][$y] = + $x[rand @x]; + } + } + + $game->{cur_board}{board}[0][0] = MARK_B; + $game->{cur_board}{board}[1][1] = MARK_GRAY_B | MARK_SMALL_W; + $game->{cur_board}{board}[2][2] = MARK_W | MARK_TRIANGLE; + $game->{cur_board}{board}[1][2] = MARK_B | MARK_LABEL; + $game->{cur_board}{label}[1][2] = "198"; + $game->{cur_board}{board}[0][2] = MARK_W | MARK_LABEL; + $game->{cur_board}{label}[0][2] = "AWA"; + $game->{board}->set_board ($game->{cur_board}); } - $board->{window}->show_all; + $game->{window}->show_all; } } main Gtk2; -$appwin->destroy; +$app->destroy; Gtk2->main_iteration while Gtk2->events_pending;