📄 game.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 + -