… | |
… | |
467 | |
467 | |
468 | my ($x, $y) = @{$self->{cursorpos}}; |
468 | my ($x, $y) = @{$self->{cursorpos}}; |
469 | |
469 | |
470 | my $new = $self->{board}{board}[$x-1][$y-1]; |
470 | my $new = $self->{board}{board}[$x-1][$y-1]; |
471 | |
471 | |
|
|
472 | if ($show) { |
472 | if ($show && (0 == ($new & $self->{cursor_mask}))) { |
473 | if ($new & $self->{cursor_mask}) { |
|
|
474 | delete $self->{cursorpos}; |
|
|
475 | } else { |
473 | $new = $new & $self->{cursor_mask} | $self->{cursor_value}; |
476 | $new = $new & $self->{cursor_mask} | $self->{cursor_value}; |
474 | } else { |
477 | } |
475 | delete $self->{cursorpos}; |
|
|
476 | } |
478 | } |
477 | |
479 | |
478 | local $self->{board}{board}[$x-1][$y-1] = $new; |
480 | local $self->{board}{board}[$x-1][$y-1] = $new; |
479 | $self->{window}->clear_area (@{ $self->{draw_stone}->($x, $y) }); |
481 | $self->{window}->clear_area (@{ $self->{draw_stone}->($x, $y) }); |
480 | } |
482 | } |