2013/02/02
■ [変愚蛮怒/スポイラー]ストリーマーの生成(変愚蛮怒 Ver2.1.1 r3245)
やはり先日の記事でストリーマーが直線的に生成されるのが気になったので、マッチポンプ改良を行なってみた。
以下の通りである。
ストリーマーはダンジョン生成中に湖地形が作られていない場合を前提として、以下の処理で生成される。
- ダンジョン毎に定義された第2ストリーマー地形生成をbuild_streamer()関数で4回、レア度15で試みる。
- ダンジョン毎に定義された第1ストリーマー地形生成をbuild_streamer()関数で4回、レア度15で試みる。
- build_streamer()関数は以下の処理でストリーマーを生成する。
- ストリーマーの縦横の開始地点を中央から(ダンジョンの長さ/3)付近の範囲でランダムに決める。
- そこからストリーマーの伸びる方向を、8方向から決める。
- ストリーマーの各地点で5回に渡って以下の処理を繰り返す。ストリーマーの地点がフロア外にはみ出るまで繰り返す。
- ストリーマーの生成地点から周辺5マスのどこかを定める。
- その地点が床地形/水地形/溶岩地形ならキャンセル。
- 永久地形ならばキャンセル。
- ストリーマーが壁地形ならば、閉じたドアや、特別な生成で作られた地形にならばキャンセル。
- その地形にモンスターやアイテムが配置されていた場合は削除される。
- ストリーマーが財宝を含んだ地形ならば、1/(レア度)の確率で財宝を含ませ、そうでなければもう一度1/(レア度)の確率で隠された財宝を含ませる。
- ストリーマーの生成地点を伸びる方向に向けて1マス進める。
- (追加点)1/10の確率でストリーマーが伸びる方向を左右どちらか45度回転させる。
これでストリーマーが中々自然そうな形に蛇行するようになったと思う。(自己満足)
ちょっと受けたぞ,褒めて使わす
お、こりゃどうもwネタがネタだけに直接的な反応は無いと思ってました。