2次元のマップで

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Dys9

2次元のマップで

#1

投稿記事 by Dys9 » 11年前

全くの初心者です。

DXライブラリを使って簡単なRPGのような物を作っています。
12×12のマップで、初代ゼルダの伝説のような、あるいは昔流行ったWWAというwebで遊べるRPGのような方式で、
画面端まで行って、さらに画面外の方向にキーを押すと画面が切り替わる方式で現在9画面分(12×12×9)分あります。
こちらの(http://dixq.net/g/26.html)方法で、壁を作ったのですが、

配列は初期化が初めにしかできないとのことで、現在
char wall[9][12][12] = {
{
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,1,1,1,1,1,1,1,1,1,1,1 }
},{
{ 2,2,2,2,2,2,2,2,2,2,2,0 },
・・・略・・・
};
という、12×12が9個も続くような形になっています。(0が道、1が壁、2は敵が出現する範囲としました)

現在は9画面なのでいいのですが、将来マップ数を増やしたときに、結構なメモリを食うのでは?と少し心配です。
この程度のメモリ消費ならば特に問題はないのでしょうか?
また、もし良い代替案がありましたらご教授頂けないでしょうか。

nil
記事: 428
登録日時: 12年前

Re: 2次元のマップで

#2

投稿記事 by nil » 11年前

メモリの消費自体は大したことがないと思います。
sizeof(int)*12*12 = 576[byte]
画像一枚のほうが容量が明らかに大きいですしね。

ですが、開発の効率などを鑑みるに配列を使うのは少し面倒です。
なので、マップエディタを使うことをおすすめします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 2次元のマップで

#3

投稿記事 by softya(ソフト屋) » 11年前

メモリは心配らないですが、画像パターンがシンプルならテキストファイルという手もあります。
マップに0,1,2以外が必要ならマップエディタを考えてみたほうが良いでしょう。
「Vector:ダウンロード Windows > ゲーム > ゲーム用ユーティリティ > ゲーム開発 > マップエディタ」
http://www.vector.co.jp/vpack/filearea/ ... /make/map/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Dys9

Re: 2次元のマップで

#4

投稿記事 by Dys9 » 11年前

ご回答ありがとうございます!

早速Platinumというマップツールを用いて、とりあえず現在と同じマップを作ってみましたが、出力したfmfファイルかcsvファイルをどのようにC++で読み込めば良いのか分かりません・・・

どのように使用するのか分かりやすい解説、または解説のあるページを教えて頂けますでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 2次元のマップで

#5

投稿記事 by softya(ソフト屋) » 11年前

Dys9 さんが書きました:ご回答ありがとうございます!

早速Platinumというマップツールを用いて、とりあえず現在と同じマップを作ってみましたが、出力したfmfファイルかcsvファイルをどのようにC++で読み込めば良いのか分かりません・・・

どのように使用するのか分かりやすい解説、または解説のあるページを教えて頂けますでしょうか?
下に検索があるのでPlatinumで検索して過去ログを見てもらうとか、私の書いたRPG作成講座があるのですが参考にしてください。Platinumを使っています。
「マイ 日記 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/blog.php?u=114&sd=a&c=2
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Dys9

Re: 2次元のマップで

#6

投稿記事 by Dys9 » 11年前

御親切にありがとうございます。
お陰様で無事読み込むことに成功しました。

検索窓に気がつきませんでした・・・

閉鎖

“C言語何でも質問掲示板” へ戻る