迷路の生成アルゴリズム。
for 部屋番号 in 0...部屋最大値
部屋を作る
break if (作る場所がない)
if (部屋番号 != 0) then
for 試行数 in 0...トンネル最大値
if (新しい部屋から既存の迷路まで穴を掘る) then
break if (!トンネルを複数掘るか)
end
end
end
end
大まかにはこのような感じにした。
無駄な計算を省くと速度が上がる。C化するだけでなくアルゴリズムの改良も重要だ。同じ計算を二度しないようにキャッシュするのも大切だ。