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

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

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

#1

投稿記事 by 草草 » 14年前

始めまして草草です

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

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

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

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

00000
00010
00000
00002
11111

のように作りたいです


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

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

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

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

#2

投稿記事 by beatle » 14年前

草草 さんが書きました:どの用に書けばよいでしょうか
何の書き方でしょうか。CSVファイルのフォーマットでしょうか。CSVファイルの読み込みプログラムでしょうか。それとも他の?

草草

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

#3

投稿記事 by 草草 » 14年前

読み込みプログラムです

言葉足らずですいません

box
記事: 2002
登録日時: 15年前

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

#4

投稿記事 by box » 14年前

草草 さんが書きました: 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

ではないのでしょうか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

jay
記事: 314
登録日時: 15年前
住所: 大阪市
連絡を取る:

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

#5

投稿記事 by jay » 14年前

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: マップ情報をエクセルで作りたい

#6

投稿記事 by 草草 » 14年前

boxさん
 そこは大丈夫です
 理解しておりますので
 返信ありがとうございます

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

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

閉鎖

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