ページ 11

敵データの管理について

Posted: 2009年11月06日(金) 23:39
by S.K
現在マリオ風のアクションゲームを作成しております。
現在、敵のデータを管理するのに各ステージごとに敵情報を書いたCSVファイルを作成しています。
これでは今後ステージを増やすごとに敵情報を書いたCSVファイルがどんどん増えていきそうなので、一つのファイルにまとめようと考えています。

しかし、どのようにステージ1の敵、ステージ2の敵、ステージ3の・・・と、分けて読み込めばいいか見当がつきません。
今は、一つのステージにつき一つのファイルで、ステージが始まる直前に該当するファイルを読む込むような形になってます。(読み込み方は龍神録プログラミングの館を参考にさせていただいています。)

どのようにすれば、うまくいくかアドバイスいただけないでしょうか?
わかりにくい文章だとは思いますがよろしくお願いいたします。

Re:敵データの管理について

Posted: 2009年11月07日(土) 01:31
by Justy

>分けて読み込めばいいか見当がつきません

 別にステージ毎に CSVを分けいても、最終的にアーカイブ化しておけばいいと思うのですが。

 敢えて1つにまとめるなら、要は記述されている敵のデータがどのステージに属しているかが
判別のつくような状態にすればいいわけで、方法はいろいろあります。

 例えばこんなのはどうでしょう。
 最初の列にステージ番号(或いはステージ識別ID)を入れ、
次の列からそのステージの1つめの敵のデータを並べます。
 2つめの以降の敵のデータは次の行の2列目から記述し、1列目は空白にしておきます。

 ⇨ をタブとすると CSVは

1⇨ 敵1のデータA⇨ 敵1のデータB⇨ 敵1のデータC
⇨ 敵2のデータA⇨ 敵2のデータB⇨ 敵2のデータC
⇨ ..
⇨ 敵15のデータA⇨ 敵15のデータB⇨ 敵5のデータC
2⇨ 敵1のデータA⇨ 敵1のデータB⇨ 敵1のデータC
⇨ 敵2のデータA⇨ 敵2のデータB⇨ 敵2のデータC
⇨ ..
⇨ 敵32のデータA⇨ 敵32のデータB⇨ 敵32のデータC
3⇨ 敵1のデータA⇨ 敵1のデータB⇨ 敵1のデータC
⇨ ..
⇨ 敵64のデータA⇨ 敵64のデータB⇨ 敵64のデータC
[/color]

こんな感じです。


 CSVの読み込みは1ファイルですしそれほど容量もないと思うので起動時に一気に
全部読み込んでしまっても良しです。


 ステージ毎に読むならまず1列目のステージ番号を頼りに番号が一致するところまで
読み捨て、一致したところから2列目以降の敵のデータを読みます。

 そうして次の行へと移り1列目が空白であるかどうかを調べ、空白であれば
それを2つめの敵のデータとして読み込みます。

 以降、同様の処理を続け1列目にステージ番号の記述があったらそこで読み込みを
打ち切ればいいかと思います。

Re:敵データの管理について

Posted: 2009年11月07日(土) 17:32
by S.K
>Justyさん
 分かりやすい説明ありがとうございます。
 無事に思い通りに実装することができました。

 >最終的にアーカイブ化
 なるほど。そういう方法もあったのですね。
 いろいろ試しながらよさそうな方法を見つけてみたいと思います。
 この度はありがとうございました。