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 + -
显示快捷键?