[過去ログ]
【ダンジョン】 自動生成 2 【地形】 (1002レス)
【ダンジョン】 自動生成 2 【地形】 http://mevius.5ch.net/test/read.cgi/gamedev/1182223295/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
22: 2/2 [sage] 2007/06/24(日) 16:32:33 ID:PG/TOCa7 my %no_wall; # 適当に結合 for (1 .. (int rand 15) + 15) { # 15 - 29 my ($x, $y) = (int rand scalar @x, int rand scalar @y); print "$x : $y ("; my $dir = int rand 4; if ($dir == 0) { print $x . "," . ($y - 1) . "-" . $y . ")\n"; $no_wall{$x . "," . ($y - 1) . "-" . $y} = 1; } elsif ($dir == 1) { print $x . "-" . ($x + 1) . "," . $y . ")\n"; $no_wall{$x . "-"
. ($x + 1) . "," . $y} = 1; } elsif ($dir == 2) { print $x . "," . $y . "-" . ($y + 1) . ")\n"; $no_wall{$x . "," . $y . "-" . ($y + 1)} = 1; } elsif ($dir == 3) { print +($x - 1) . "-" . $x . "," . $y . ")\n"; $no_wall{($x - 1) . "-" . $x . "," . $y} = 1; } } my (@x_wall, @y_wall) = (map { 0 } 1 .. $width, map { 0 } 1 .. $height); $x_wall[$_] = 1 for @x; $y_wall[$_] = 1 for @y; my (@x_room, @y_room
); $i = 0; @x_room = map { ++$i if $x_wall[$_]; $i; } 0 .. $width - 1; $i = 0; @y_room = map { ++$i if $y_wall[$_]; $i; } 0 .. $height - 1; for my $y (0 .. $height - 1) { for my $x (0 .. $width - 1) { my ($xr, $yr) = ($x_room[$x], $y_room[$y]); $x_wall[$x] and (!$no_wall{($xr - 1) . "-" . $xr . "," . $yr} and ($y_wall[$y] and print "+" or print "|") or print "."); $y_wall[$y] and !$no_wall{$xr . "," . ($yr - 1) . "-" . $yr} and print &quo
t;-" or print "."; } print "\n"; } ---- ごめん俺は投げた http://mevius.5ch.net/test/read.cgi/gamedev/1182223295/22
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 980 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s