ページ 11

関数ごとにファイル分けをしたいのですが

Posted: 2011年5月02日(月) 01:25
by こーら
はじめまして。初投稿です。

質問内容はタイトル通り、ファイル分割をしたいです。
とりあえず今の状況を先に説明します。

環境()

  OS : windows7starter
  エディタ : VisualStudio2010Professional
  ジャンル : シューティングゲーム
}

自機表示、自機移動、敵機表示、敵機移動、自弾発射

まで書きました。まだ問題はありますが^q^
そこで処理も長くなってきてファイル分けをしようかと思います。
今は
Main.cpp
MainLoop.cpp
MainLoop.h
で構成しています。
main関数には

コード:

#include "MainLoop.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
  //ウィンドウの設定
  SetGraphMode( winX, winY, 32 );
  //ライブラリ初期化
  if( DxLib_Init() == -1 ) return -1;
  //メインループ関数へ
  MainLoop();
  //終了
  DxLib_End();
  return 0;
}
と書いてます。

MainLoop.cppには各処理の関数を書いてあります↓

コード:

//メインループ
void MainLoop ( void );
//画像読み込み
void LoadImage( void );
//変数初期化
void Init     ( void );
//自機移動
void ZikiMove ( void );
//自弾移動
void MyShot   ( void );
//敵機移動
void TekiMove ( void );
ヘッダファイルを書いたことがなく、自分なりに考えて書いてます。

コード:

#ifndef DEF_MAIN_H
#define DEF_MAIN_H
#include "DxLib.h"
#define winX 500      //ウィンドウ横幅
#define winY 500      //ウィンドウ縦幅
#define SHOT 10   //最大弾数
#define TEKI 5    //最大敵機数
===
プロトタイプ宣言
===
自機、敵機構造体
自弾構造体
その他構造体
こんな感じです↑。

cppファイルには#include "MainLoop.h"してます。


本題はここからなんですが、mainloop.cppの各関数を別ファイルに分けたいです。
その際に必要なヘッダファイルの書き方がわかりません。
グローバル変数や引数、戻り値など...
基本ならC言語理解してます。

長文、乱文失礼しました。初心者ですが、気にせず返信してくれると嬉しいです。
まだ必要な情報がありましたらその都度書かせていただきます。
お願いします。

Re: 関数ごとにファイル分けをしたいのですが

Posted: 2011年5月02日(月) 01:28
by こーら
申しわけありません。codeタグを書いていませんでした。フォーラムルールをよく読んでこれからは投稿します。申しわけありませんでした。

Re: 関数ごとにファイル分けをしたいのですが

Posted: 2011年5月02日(月) 03:12
by Dixq (管理人)
丁度最近、ゲームプログラミングの館というサイトをリニューアル中で、分割コンパイルについても触れています。
http://dixq.net/g/
「ゲームプログラミング設計」
の章をご覧下さい。
別トピックでご意見募集しているので、もし分かりにくかったりしたらご意見頂けると幸いです。

タグは修正しておきました。

Re: 関数ごとにファイル分けをしたいのですが

Posted: 2011年5月02日(月) 23:45
by こーら
返信ありがとうございます。よく調べて自分なりに書いてみます。