はじめに
前回が前々回くらいの記事でテキストファイルからステージを作成するというプログラムを紹介しました。
kurora-shumpei.hatenablog.com
今回はこの記事の最後の方に書いたステージ(迷路)の自動生成のプログラムの紹介をしようと思います。
完成したらこんな感じになります。
ゲームを再生するたびに15x15の迷路が作成されます。ちなみにこのサイズは変更可能にしています。
迷路自動生成の方法の種類
最初に色々迷路の自動生成について調べたところ、
・棒倒し法
・穴掘り法
・壁のばし法
この3つが有名みたいですね。
この3つの方法の詳細については以下の記事を確認してください。
algoful.com
この記事には各方法のシュミレーションが見れるので、私がここで説明するよりは百倍わかりやすいと思います。
私も今回のプログラムはこのサイトのものを大分参考にして作成しました。
とりあえず今回のプログラムではその中でも棒倒し法を使用して迷路を作成していきます。
流れとしては
① 生成したステージデータを保存する用のテキストファイルを用意
② 棒倒し法でステージデータを作成
③ ステージデータをもとにUnity上でステージを作成
こんな感じです。
①に関しては適当な場所に stage.txt を作成すれば良いだけなので説明は省略します。
以下がプログラムです。
リポジトリにスター付けてくれたら私の心が満たされます。
最後に
このプログラム自体は半年くらい前に作成したものを記事にあげるのを忘れていたものですので、ちょっとプログラムの書き方が微妙な感じになっているかもしれませんがご容赦ください...。
もちろん問題なく動きはしますので、そこは大丈夫です!
時間があれば、棒倒し法以外での迷路生成をやってみようかと思っとります。あと、色々調べてたら、ローグライクゲームでのステージ自動生成の記事とかも見つけたのでその辺もやってみたいなーとも思ってます。
いつになるかはわからないですけどね...。