+ $player->{mult_x}=0;
+ $player->{mult_y}=0;
+
+ my $start_x = $main::x{$x_middle}-1 - $mult_x+1;
+ my $stop_x = $main::x{$x_middle}-1 + $mult_x-1;
+ my $start_y = $main::y{$y_middle}-1 - $mult_y+1;
+ my $stop_y = $main::y{$y_middle}-1 + $mult_y-1;
+ my %sound;
+ for my $x_idx ($start_x..$stop_x)
+ {
+ my $x = $x_idx> $#main::x ? $main::x[$x_idx-@main::x] : $main::x[$x_idx];
+ for my $y_idx ($start_y..$stop_y)
+ {
+ my $y = $y_idx> $#main::y ? $main::y[$y_idx-@main::y] : $main::y[$y_idx];
+ if ($player->{score}->{$x}{$y} eq 's')
+ {
+ $sound{scored}++;
+ $player->{score}->{$x}{$y} = 'X';
+ } elsif (not $player->{score}->{$x}{$y}) {
+ $player->{score}->{$x}{$y} = 'o';
+ $sound{miss}++;
+ } elsif ($player->{score}->{$x}{$y} eq 'o') {
+ $sound{scho}++;
+ }
+ }
+ }
+
+ if ($sound{scored})