game.h
1    //ゲーム処理のヘッダーファイル
2    #pragma once
3    
4    #include  "DxLib.h"
5    
6    //マクロ定義
7    constexpr int GAME_WIDTH	 = 1280;				//画面の幅
8    constexpr int GAME_HEIGHT = 720;					//画面の高さ
9    constexpr int GAME_COLOR	 = 32;					//画面の色
10   constexpr const char* GAME_TITLE = "ブロック崩し";	//画面タイトル
11   constexpr bool GAME_VSYNC = true;				//V-Syncを使う場合true
12   constexpr int GAME_ICON = 999;					//ゲームアイコンのID
13   
14   constexpr bool GAME_DEBUG_MODE = false;			//デバッグモードを使う場合true
15   constexpr int GAME_SCENE_COUNT = 3;					//ゲームシーンの数
16   constexpr int GAME_SCENE_TEXT_MAX = 30;			//ゲームシーン名の最大文字数
17   
18   //ゲームシーン
19   enum class E_GameScene: int
20   {
21       TitleScene,
22       PlayScene,
23       ResultScene
24   };
25   
26   //ゲームフェーズ
27   enum class E_GamePhase
28   {
29       Initialization, // 初期化
30       Control,        // 制御
31       Processing,     // 処理
32       Drawing         // 描画
33   };
34   
35   //外部グローバル変数
36   extern enum E_GameScene NowGameScene;	//現在のゲームシーン
37   extern enum E_GameScene ChangeGameScene;	//切り替わるゲームシーン
38   
39   // 外部プロトタイプ宣言
40   void InitGame(); // ゲーム初期化
41   void GameAndDxLibAllEnd();	//ゲームとDxLibの終了処理
42   HWND GetGameHandle(); // ゲームハンドル取得
43   RECT GetGameWindow(); // ゲームウィンドウ取得
44   
45   void InitScene(E_GameScene scene); // シーン初期化
46   void CtrlScene(E_GameScene scene); // シーン制御
47   void ProcScene(E_GameScene scene); // シーン処理
48   void DrawScene(E_GameScene scene); // シーン描画
49   
50   bool GameEnd(); // ゲームオーバーの処理
51   bool IsGameClear(); // ゲームクリアの処理
52   
53   
54   extern void SwitchScene();  //シーンスイッチ
55   extern bool FadeInScene(int fadeInFrame); //フェードイン(1000=1秒)
56   extern bool FadeOutScene(int fadeOutFrame); //フェードアウト(1000=1秒)
57   
58   
59   
60