ページ 11

マップ情報をエクセルで作りたい

Posted: 2011年11月19日(土) 23:31
by 草草
始めまして草草です

今、横スクロールのゲームを作ろうと思って試行錯誤中です

そこで、龍神録のザコ敵の移動、攻撃パターンをエクセルで配置させているのを参考にマップ情報をエクセルで作ろうと思います。

横スクロールといっても、1画面である座標(つまり左からきて右の扉まで)に到達したら次の画面(別のCSVファイルを読み込む)というようにしたいです。

CSVには例えば5×5のステージなら
0…何も入れない
1…ブロック
2…敵

00000
00010
00000
00002
11111

のように作りたいです


どの用に書けばよいでしょうか

Windows7、VC++2010を使用しています
よろしくお願いします

Re: マップ情報をエクセルで作りたい

Posted: 2011年11月19日(土) 23:37
by beatle
草草 さんが書きました:どの用に書けばよいでしょうか
何の書き方でしょうか。CSVファイルのフォーマットでしょうか。CSVファイルの読み込みプログラムでしょうか。それとも他の?

Re: マップ情報をエクセルで作りたい

Posted: 2011年11月20日(日) 01:02
by 草草
読み込みプログラムです

言葉足らずですいません

Re: マップ情報をエクセルで作りたい

Posted: 2011年11月20日(日) 01:30
by box
草草 さんが書きました: 00000
00010
00000
00002
11111

のように作りたいです
CSV形式なのであれば、

0,0,0,0,0
0,0,0,1,0
0,0,0,0,0
0,0,0,0,2
1,1,1,1,1

ではないのでしょうか。

Re: マップ情報をエクセルで作りたい

Posted: 2011年11月20日(日) 02:51
by jay
CSVファイルの読み込みってエクセルで管理できるからやりやすいですよねw

読み込みプログラムについて、ですね。
今回の場合横スクロールアクションということなので、field[y][x]といった配列を用意してそこに格納するのがいいでしょうね。
xとyの値はご自分で都合のいい値に設定してください、当然CSVファイルでもちゃんとxとyの値に収まるように配置して行ってくださいね。

その辺りに注意していればあとは草草さんが言っているように龍神録の読み込みプログラムを改変していけば大丈夫です。
まぁ、それが上手く出来てないからここで質問しているんでしょうけど(苦笑)

プログラムの流れとしては
① ファイル操作関数でファイルを開く(fopen関数が普通ですね)

② CSVファイルの一番上の行をfield配列の[0][x]に格納していく(xは0から順番に増やしていってくださいね)

③ 行の終わりまで来たら改行、次の行を順番に[1][x]に格納していく

④ ファイルの終わり(EOF)まで繰り返す

⑤ 読み込んだ値を元に各種データ(敵)等を設定していく


格納の仕方などは龍神録のやりかた参照ということで
ただしこのやり方でやる時のデメリットとしては、敵に細かいデータを設定できないということです。
草草さんの場合は2番が敵と設定されているようですが、CSVファイルで渡せるのは2という数字だけです。
HPがいくら、移動スピードはどれくらい、といった値は渡せません。
もちろん2番も3番も4番も敵にしていくつかの種類を作ることは可能でしょうが、各々に細かいデータを設定するつもりならばまた別に仕様を作る必要があります。

と、プログラムの流れを簡単に書いてみました。
もう少し具体的なことが効きたいのならば、掲示板のルールに従ってなるべく分かりやすい質問をお願いしますね。

Re: マップ情報をエクセルで作りたい

Posted: 2011年11月20日(日) 03:11
by 草草
boxさん
 そこは大丈夫です
 理解しておりますので
 返信ありがとうございます

jayさん
 返信ありがとうございます!
 細かな説明ありがたいです!
 細かいデータなどのデメリットがありましたが、こちらは自分の作るゲームではさほど問題ではないようです
 敵の体力やスピードなどを同じ敵で差がつくようにはしないつもりですので

 言葉足らずで申し訳ありませんでした
 解答ありがとうございました