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.9 by pcg, Sat May 31 16:41:35 2003 UTC vs.
Revision 1.12 by pcg, Sat May 31 17:27:59 2003 UTC

81 $sw->add(($self->{text} = new gtk::text)->widget); 81 $sw->add(($self->{text} = new gtk::text)->widget);
82 82
83 $vbox->pack_start(($self->{entry} = new Gtk2::Entry), 0, 1, 0); 83 $vbox->pack_start(($self->{entry} = new Gtk2::Entry), 0, 1, 0);
84 $self->{entry}->signal_connect(activate => sub { 84 $self->{entry}->signal_connect(activate => sub {
85 my $text = $self->{entry}->get_text; 85 my $text = $self->{entry}->get_text;
86 # add message 86 $self->say($text) if $text =~ /\S/;
87 $self->{entry}->set_text(""); 87 $self->{entry}->set_text("");
88 }); 88 });
89 89
90 $self; 90 $self;
91} 91}
167 167
168# create a stack of stones 168# create a stack of stones
169sub create_stack { 169sub create_stack {
170 my ($self, $mark, $size, $rand) = @_; 170 my ($self, $mark, $size, $rand) = @_;
171 171
172 my $shadow = $size * 0.06; 172 my $shadow = $size * 0.05;
173 173
174 my $c = \$self->{stack}{$mark}; 174 my $c = \$self->{stack}{$mark};
175 unless ($$c) { 175 unless ($$c) {
176 for my $stone ($mark & (MARK_W | MARK_GRAY_W) ? @::white_img : @::black_img) { 176 for my $stone ($mark & (MARK_W | MARK_GRAY_W) ? @::white_img : @::black_img) {
177 my $base = new_pixbuf $size + $shadow, $size + $shadow, 1, 0x00000000; 177 my $base = new_pixbuf $size + $shadow, $size + $shadow, 1, 0x00000000;
178 178
179 # zeroeth the shadow 179 # zeroeth the shadow
180 if ($mark & (MARK_B | MARK_W)) { 180 if ($mark & (MARK_B | MARK_W)) {
181 $::black_img[0]->composite ( 181 $::black_img[0]->composite (
182 $base, $shadow, $shadow, $size, $size, $shadow-0.5, $shadow-0.5, 182 $base, $shadow, $shadow, $size, $size, $shadow, $shadow,
183 $size / $stone->get_width, $size / $stone->get_height, 183 $size / $stone->get_width, $size / $stone->get_height,
184 $::config->{speed} ? INTERP_NEAREST : INTERP_BILINEAR, 128 184 $::config->{speed} ? INTERP_NEAREST : INTERP_BILINEAR, 192
185 ); 185 );
186 } 186 }
187 187
188 # first the big stones (handicap stones different for effect) 188 # first the big stones (handicap stones different for effect)
189 for ([MARK_B, $mark & MARK_MOVE ? 255 : 192], 189 for ([MARK_B, $mark & MARK_MOVE ? 255 : 192],
191 [MARK_GRAY_B, 128], 191 [MARK_GRAY_B, 128],
192 [MARK_GRAY_W, 128]) { 192 [MARK_GRAY_W, 128]) {
193 my ($mask, $alpha) = @$_; 193 my ($mask, $alpha) = @$_;
194 if ($mark & $mask) { 194 if ($mark & $mask) {
195 $stone->composite ( 195 $stone->composite (
196 $base, 0, 0, $size, $size, -0.5, -0.5, 196 $base, 0, 0, $size, $size, 0, 0,
197 $size / $stone->get_width, $size / $stone->get_height, 197 $size / $stone->get_width, $size / $stone->get_height,
198 $::config->{speed} ? INTERP_NEAREST : INTERP_BILINEAR, $alpha 198 $::config->{speed} ? INTERP_NEAREST : INTERP_BILINEAR, $alpha
199 ); 199 );
200 } 200 }
201 } 201 }
202 202
203 # then the samll stones 203 # then the small stones
204 for ([MARK_SMALL_B, $::black_img[$rand % @::black_img]], 204 for ([MARK_SMALL_B, $::black_img[$rand % @::black_img]],
205 [MARK_SMALL_W, $::white_img[$rand % @::white_img]]) { 205 [MARK_SMALL_W, $::white_img[$rand % @::white_img]]) {
206 my ($mask, $img) = @$_; 206 my ($mask, $img) = @$_;
207 if ($mark & $mask) { 207 if ($mark & $mask) {
208 $img->composite ( 208 $img->composite (
209 $base, ($size / 4) x2, (int ($size / 2 + 0.5)) x2, ($size / 4 - 0.5) x 2, 209 $base, ($size / 4) x2, (int ($size / 2 + 0.5)) x2, ($size / 4) x 2,
210 $size / $img->get_width / 2, $size / $img->get_height / 2, 210 $size / $img->get_width / 2, $size / $img->get_height / 2,
211 $::config->{speed} ? INTERP_NEAREST : INTERP_BILINEAR, 192 211 $::config->{speed} ? INTERP_NEAREST : INTERP_BILINEAR, 192
212 ); 212 );
213 } 213 }
214 } 214 }
287 287
288 my $size = $self->{size}; 288 my $size = $self->{size};
289 289
290 my $border = int ($s / ($size + 3) * 0.5); 290 my $border = int ($s / ($size + 3) * 0.5);
291 my $s2 = $s - $border * 2; 291 my $s2 = $s - $border * 2;
292 my $edge = int ($s2 / ($size + 1) * 0.97) - ($::config->{randomize} ? 3 : 0); 292 my $edge = int ($s2 / ($size + 1) * 0.96) - ($::config->{randomize} ? 3 : 0);
293 my $ofs = int ($edge / 2); 293 my $ofs = int ($edge / 2);
294 294
295 my @k = map int ($s2 * $_ / ($size+1) + $border + 0.5), 0 .. $size; 295 my @k = map int ($s2 * $_ / ($size+1) + $border + 0.5), 0 .. $size;
296 296
297 my $pixbuf; 297 my $pixbuf;
362 if ($::config->{randomize}) { 362 if ($::config->{randomize}) {
363 $dx += ($rand % 7) - 3; 363 $dx += ($rand % 7) - 3;
364 $dy += ($rand / 3 % 7) - 3; 364 $dy += ($rand / 3 % 7) - 3;
365 } 365 }
366 366
367 my $shadow = $edge * 0.06; 367 my $shadow = $edge * 0.05;
368 my $area = [$dx, $dy, $edge + $shadow, $edge + $shadow]; 368 my $area = [$dx, $dy, $edge + $shadow, $edge + $shadow];
369 369
370 my $mark = $self->{board}{board}[$x-1][$y-1]; 370 my $mark = $self->{board}{board}[$x-1][$y-1];
371 my $old = $oldboard ? $oldboard->{board}[$x-1][$y-1] : 0; 371 my $old = $oldboard ? $oldboard->{board}[$x-1][$y-1] : 0;
372 372

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines