迷路の作成方法について

ホーム フォーラム CF2.5使用法全般 迷路の作成方法について

  • このトピックには2件の返信、2人の参加者があり、最後にnodoame57により5年、 1ヶ月前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #32794
    nodoame57
    参加者

    お世話になります。

    自動生成迷路を作成しています。

    迷路の作成方法には色々なアルゴリズムがあるようですが
    穴掘り法というものを使ってやってみました。
    視覚的にわかるように迷路が作られていく様子が見えるようにしています。

    おおまかな動きは以下の通りです。
    1.ブロックで全体を埋める
    2.ある地点から上下左右ランダムに2マス先を調べ、ブロックがあれば道を作っていく
    3.どの方向にも進めなくなったら道を戻り再探索
    4.探索が終了したら完成

    現在作ったところまでで、つまづいている点がいくつかあります。

    ・どの方向にも進めなくなった場合、道を戻って再探索する方法が上手く思いつかず
    ランダムな位置にジャンプしているため、道が繋がっていない迷路になってしまう。
    ・探索が終了したと判定するものがないため、完成の判定ができない。

    良い方法がありましたら教えてください。よろしくお願いします。

    Attachments:
    You must be logged in to view attached files.
    #32801
    MYTH
    参加者

    >>nodoame57さん

    こんにちは。
    CF2.5で自動生成のアルゴリズムを組むのは何かと面倒ですよね…

    迷路の自動生成において強力な機能を持つのが「Dungeon Object」というエクステンションです。
    今回の場合でも利用できると思いますが、このエクステンションはwin版のみの対応となるのでそれ以外のプラットフォーム向けには別の方法が必要となります。

    拙作ですがサンプルを用意しました。
    こちらでは「Random Multipool object」というエクステンションを利用しています。
    これもwin版のみの対応となりますが、重複しない乱数を生成する動作は他の方法でも実現可能ですのでwin版以外の利用の場合はお手数ですが代用願います。
    (その方が組むのが楽だったのです…ごめんなさい(´・ω・`))

    フレームのランダム移動を教えて下さい。

    ごちゃごちゃした内容ですができるだけ伝わるように、詳細はコメントで参照しています。
    勢いで2日で作った粗削りな動作ですのでどこかおかしいかもしれません。

    こちらで何かお役に立てればと思いますm(__)m

    Attachments:
    You must be logged in to view attached files.
    #32805
    nodoame57
    参加者

    返信ありがとうございます。

    サンプル拝見しました。
    まだ細かい部分まで確認できていませんが、
    ネックになっていた探索部分と未探索部分の判別方法がリストで座標を記録していくことがわかりました。

    イメージ通りの動作で大変参考になりました。
    各処理のコメントも非常に助かります。
    ありがとうございます。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。