ページ 11

ダンジョンフィールド

Posted: 2009年5月17日(日) 20:01
by 和金
おそらくはじめまして。ここの掲示板はよく覗かせてもらってます。
風来のシレンのような、いわゆるローグ系と言われるゲームのダンジョンマップを作成するプログラムを書きました。
売ってる本を見てみると、フィールドをまずいくつかに分割して、その中で部屋を一つ作ったり作らなかったり、という方法をとっていて、案外ランダム性が薄いように感じました。
このプログラムで作れるダンジョンフィールドは、できるだけランダム性を残したものになってます。
その分、なんじゃこりゃ的なフィールドを作ることもしばしばです。

ダンジョンゲームを作るつもりでいましたが、これが書けた時点で満足してしまいました(^^;

あんまり経験もないので不具合等、あるかと思いますが、気に入っていただいたらご自由に使ってやって下さい。

アドバイス等、ございましたらよろしくお願いします。

Re:ダンジョンフィールド

Posted: 2009年5月17日(日) 21:12
by kazuoni
ツール作るのが大好きなんで、さっそくDLしてみました。

これはなかなか使えそうですねw
ただ、使う側として、

・部屋の数は自分で指定したい時がある
・部屋の最小サイズを自分で指定したい時がある

があります。ここを実装するともっと応用がきくのではないかと思います。


あと、これをC++で書くとインターフェース部、実行部と
分けることができるので、もう少し管理しやすくなるかと思います。
また、解放忘れも防げます。

・・・面白いから、これとDXライブラリ使ってゲーム作ってみようかなって
思っちゃいました^^;
もしかしたら勝手に使いやすいように変えていってしまうかもしれないですが・・・。


制作お疲れ様でした!!

Re:ダンジョンフィールド

Posted: 2009年5月17日(日) 22:49
by 和金

 部屋の最小サイズ、部屋の数を指定できるようにしました。
 今回はコンソールから最大フィールドサイズ、最大部屋数、最小部屋サイズ(、部屋の数)を与えて実行する形にしました。


>kazuoniさん
さっそくありがとうございます!
部屋の最小サイズは簡単にいじれるので、指定できるようにしますね。
部屋の数は、力技でなんとかしました(^^;

あんまり触ったことがないですが、確かにオブジェクト指向の方が関数などの管理はしやすそうですね。入り組んでくると、把握し直すだけで一苦労です(^^;

>作ってみようかなって
思っていただけただけでも嬉しいです(^^)
通路の探索などけっこう泥臭くやってるんでお見苦しいかとは思いますが、改良などもぜひどうぞ!

Re:ダンジョンフィールド

Posted: 2009年5月18日(月) 13:29
by kazuoni
ええっと、詳しく見てないので原因が分かりませんが、
起動直後に何もせず終了してしまいますが、仕様ですか?


追記
あ、コマンド引数なんですね^^;
了解しました。

Re:ダンジョンフィールド

Posted: 2009年5月18日(月) 14:24
by 和金
です(^^;

COMを徘徊させる場合に、部屋や通路の出入り口の位置が必要になるんですが、その情報も構造体に入れといたほうがいいかもしれませんね。

Re:ダンジョンフィールド

Posted: 2009年5月19日(火) 18:13
by 和金
すみません。ミスの報告です。
DUNGEON_FIELD構造体のwalk_countが正しい通路の数になってませんでした。
正しくは、walk_countからroom_countを引いた値です。
今ちょっと直せないので、報告までです。