【Perl】初心者コーナー Part13
■ このスレッドは過去ログ倉庫に格納されています
0554nobodyさん
02/07/02 17:11ID:???部分マップを別配列に切り出す方向で考えてみた。
my $map_width = length($map[0]);
my $map_height = scalar(@map);
sub max { $_[$_[0] < $_[1]]; }
sub min { $_[$_[0] > $_[1]]; }
sub trim_map {
my ($x, $y) = @_;
my $x1 = max(0, $x - 2);
my $x2 = min($map_width, $x + 2);
my $y1 = max(0, $y - 2);
my $y2 = min($map_height, $y + 2);
return map { substr($_, $x1, $x2 - $x1 + 1) } @map[$y1 .. $y2];
}
my @mini_map = trim_map(5, 3);
print "$_\n" foreach @mini_map;
■ このスレッドは過去ログ倉庫に格納されています