#2
by 参照魚 » 7年前
マリオのようなステージなら適当な大きさにブロック(例えば32×32)を決めて、そのブロックを配列で表記するところから始めるとよいかと思います。
コード:
#define STAGE_SIZE_H 16 // ステージの高さ(ブロック数)
#define STAGE_SIZE_W 32 // ステージの長さ(ブロック数)
#define STAGE_NUM 8 // ステージ数
enum BLOCK { ブロックの種類
NOBLOCK, //ブロックが無し
NORMAL, // ノーマルブロック
BREAKABLE, // 壊せるブロック
:
:
};
static UINT stage_data01[STAGE_SIZE_H][STAGE_SIZE_W] = {
{NOBLOCK,NOBLOCK,NORBLOCK, ...,...},
:
:
};
static UINT stage_data[STAGE_MAX] = {
stage_data01,
stage_data02,
:
:
};
外部データとして持つ場合には、ファイルの読み込み、データの解析があるので、まずはプログラムコード内で記述して、ステージの初期化周りを固めてからにしたほうがよいと思います。
マリオのようなステージなら適当な大きさにブロック(例えば32×32)を決めて、そのブロックを配列で表記するところから始めるとよいかと思います。
[code]
#define STAGE_SIZE_H 16 // ステージの高さ(ブロック数)
#define STAGE_SIZE_W 32 // ステージの長さ(ブロック数)
#define STAGE_NUM 8 // ステージ数
enum BLOCK { ブロックの種類
NOBLOCK, //ブロックが無し
NORMAL, // ノーマルブロック
BREAKABLE, // 壊せるブロック
:
:
};
static UINT stage_data01[STAGE_SIZE_H][STAGE_SIZE_W] = {
{NOBLOCK,NOBLOCK,NORBLOCK, ...,...},
:
:
};
static UINT stage_data[STAGE_MAX] = {
stage_data01,
stage_data02,
:
:
};
[/code]
外部データとして持つ場合には、ファイルの読み込み、データの解析があるので、まずはプログラムコード内で記述して、ステージの初期化周りを固めてからにしたほうがよいと思います。