game.h

来自「极限赛车CarGameDemo DirectX9」· C头文件 代码 · 共 66 行

H
66
字号
#ifndef _GAME_H
#define _GAME_H
#include "../scene/mesh.h"
#include "../camera/camera.h"
#include "../scene/car.h"
#include "../scene/obstacle.h"
#include "../scene/AIcar.h"
#include "../common/d3dfont.h"
#include "../scene/circler.h"
#include "../common/timer.h"
//------------------------------------------------
//Game类控制游戏的逻辑
//----------------------------------------------
class Game
{
public:
	enum GameState
	{
		GameState_Begin,	// 游戏开始
		GameState_ReBegin,	//重新开始游戏
		GameState_Run,		// 比赛进行
		GameState_Over,		//游戏提前结束
		GameState_Finish,	// 游戏结束
	};
public:
	enum GameViewType { FREE, SLANT, TOP };
	enum {CIRCLE = 10,SIZE = 25};
	Game(void);
	~Game(void);

	bool GameInit(void);						//游戏初始化准备
	int EnterMsgLoop( void);					//游戏消息循环
	void GameShutDown(void);					//游戏清理
	bool _topView;								//控制视野切换
	bool _freeView;
	GameViewType _gameViewType;					//视野类型

protected:
	void checkObstacle(float timeDelta);		//遍历障碍物
	void setViewToCar(const Car& car);			//锁定视野到车
	void setViewToTop(void);					//固定视野到顶
	void setViewFree(float timeDelta);			//释放视野
	void GameControl(float timeDelta);			//游戏控制
	bool GameDisplay(float timeDelta);			//游戏的显示
	bool UpdateWorld(float timeDelta);
	bool RenderWorld(void); 
public:
	GameState	_gameState;				//游戏状态
private:
	Camera		_camera;				//摄象机
	Mymesh		track;					//赛道
	Circler		_circler;				//圈数检查器
	Timer		_timer;					//计时器
	float		_timeLimit;				//时间限制
	char		_timeString[SIZE];		
	Car			car1;					//玩家控制的赛车
	AICar		car2;					//AI车
	AICar		car3;
	AICar		car4;
	Obstacle	_obstacle;				//障碍物
	CD3DFont*	_pFont;					//用于输出文字
	CD3DFont*	_pFont1;
	CD3DFont*	_pFont2;
};

#endif

⌨️ 快捷键说明

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