MMF2でダンジョンの自動生成を実装する(したい) その3

| | コメント(2) | トラックバック(0)

■マップの区画分けをする■

完成したファイルはカオスになりましたが、

考えはまとまったので、更新します。

完成したデータはコチラになります。 

■解説■

マップ(仮に60×40とする)をとりあえず縦に区切ります。

区切る座標はランダムで決定します。

あと、区切らせた1つのエリアが5以下にならないようにします。

 

2010050901.png

 

 

 

 

 

 

 

 

 

 

 

 ・区切り線、Xの決定

Random(Xマップの大きさ-10)+5

(上のマップの場合) Random(60-10)+5

↑ 5~55の範囲で値が決定される

 

それで、区切った後、

2つの矩形ができるのですが、

それぞれのXの大きさ、Yの大きさ、始点の座標を

変数に格納しておきました。

なぜ、マップの大きさを把握したかというと、

今後、四角に収まるようなフロアを設置するという作業で

必要になると思ったからです。

 

※ 赤い部分を、変数に格納

2010050902.png

 

 

 

 

 

 

 

 

 

 

 

自分は、四角形を作るたびに、アクティブオブジェクトを作っていって

その作ったアクティブオブジェクトに変数を格納していきました。

 

 

それで、2つの四角形のうち、大きい方を

さらに横に区切っていきます。

Random(Yマップの大きさ-10)+5として

区切る場所を決定します。

2010050903.png

 

 

 

 

 

 

 

 

 

 

 

という具合に、

縦に切る

大きいほうを横に切る

大きいほうを縦に切る

大きいほうを横に切る

 ・
 ・

(これを7回繰り返す)

 

という、シンプルな方法でやってみました。

途中で、区切る対象の大きさが10以下になった場合は、

処理を止めるようにしています。

 

・・・それで、

区切る線に該当する、二次元配列の値をとりあえず2にして・・っと

これで、完成ですね。

 

※ 作ったデータでは、領域を色分けしてみました。

2010050904.png

 

 

 

 

 

 

 

 

 

 

 

MMF2でのソースは、完成したデータを参照にしてください。

ごり押しで作った感は否めませんがw

手抜きですいません・・・はい。

トラックバック(0)

このブログ記事を参照しているブログ一覧: MMF2でダンジョンの自動生成を実装する(したい) その3

このブログ記事に対するトラックバックURL: /197

コメント(2)

Anonymous :

日本語版用エクステンションパックに入ってるFast Function Objectっていうエクステンションを入れないと関数出来ないっぽいです
Multimedia Fusion 2 Wikiにあったんでググってどうぞw

87 :

おぉ!
若干の不具合はあるみたいですが、戻り値や引数など
普通に関数として使えるみたいですね、今日試してみます!
ありがとうございます。
やっぱり簡素なプログラムが一番ですよね。なによりかっこいいですしw

コメントする

このブログ記事について

このページは、87が2010年5月 9日 17:12に書いたブログ記事です。

ひとつ前のブログ記事は「MMF2でダンジョンの自動生成を実装する(したい) その2」です。

次のブログ記事は「今日のやることを忘れないようにメモ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01