Leser: 2
![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |
$ymin = $y if (! defined $ymin || $y < $xmin);
$ymin = $y if (! defined $ymin || $y < $ymin);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
sub mark_outside($) { my $map=shift(@_); my $end=1; my $rotate=0; $$map[0][0]=-2; while($end) { $end=0; $rotate++; $rotate=1 if($rotate==5); for my $x (0..$#$map) { $x=$#$map-$x if($rotate==3 or $rotate==4); for my $y (0..$#{$$map[$x]}) { $y=$#{$$map[$x]}-$y if($rotate==2 or $rotate==3); if($$map[$x][$y]==-1) { if ( ( $x-1>=0 and $$map[$x-1][$y]==-2 ) or ( $y-1>=0 and $$map[$x][$y-1]==-2 ) or ( $x+1<@{$map} and $$map[$x+1][$y]==-2 ) or ( $y+1<@{$$map[$x]} and $$map[$x][$y+1]==-2 ) ) { $$map[$x][$y]=-2; $end=1; } } } } } }
![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |