⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 game.h

📁 极限赛车CarGameDemo DirectX9
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -