game.h

来自「Win32项目,类似坦克大战的游戏"忘记喧嚣". 游戏的各系统完整,闪屏,道具」· C头文件 代码 · 共 66 行

H
66
字号
// 其他类的纽带,向主函数提供接口,控制游戏流程,时间进度。
#pragma once
//#pragma comment <lib,"winmm.lib">
//#pragma comment <lib,"msimg32.lib">
#include <windows.h>
#include <time.h>
#include "mmsystem.h"
#include ".\judge.h"

#include ".\ui.h"
#include ".\map.h"
#include ".\prop.h"
#include ".\hero.h"
#include ".\tack.h"
#include ".\enemy.h"
#include ".\bullet.h"

#define KEYDOWN(VK_CODE) ((GetAsyncKeyState(VK_CODE)&0x8000)?1:0)
#define SAFE_DELETE(p)  { if(p) { delete (p);     (p)=NULL; } }

class Game
{
public:
	Game(HWND hWnd);
	~Game(void);
	void InitGame();          // 初始化游戏
	void RunGame(void);       // 运行游戏

private:
	void StartGame(void);     // 开始游戏
	void PlayGame(void);      // 游戏操作
	void ShowAirdrop(void);   // 空投动画    

	HWND    ga_hWnd;
	HDC     ga_hdc;
	HDC     ga_mdc;
	HDC     ga_bufdc;               // 缓冲DC
	HBITMAP ga_bufMap;              // 缓冲区域
	DWORD   ga_startTime;
	DWORD   ga_lastTime;
	DWORD   ga_t1;                  // 第1个内部时间控制, 怪活动频率
	DWORD   ga_t2;                  // 第2个内部时间控制,刷新怪间隔
	bool    ga_gameStart;           // 整个游戏开始
	bool    ga_gameInstruct;        // 游戏说明 
	bool    ga_instructClose;
	bool    ga_begin;               // 按钮控制
	bool    ga_exit;
	bool    ga_help;
	bool    ga_sound1;
	bool    ga_sound2;
	bool    ga_sound3;
	bool    ga_airdroping;
	bool    ga_enemyEnough;         // 敌人刷满
	int     ga_enemyIndex;          // 敌人编号
	int     ge_killNumber;          // 击杀数 
	int     ge_prekillNumber;       // 前一次击杀数  
	int     ga_airdropSpace;        // 空投时间
	int     ga_propLiveSpace;       // 道具存在时间
	UI      *ui;
	Map     *map;
	Prop    *prop;
	Hero    *hero;
	Enemy   *enemy[3];              // 产生3个坦克
	Judge   judge;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?