首页 > 代码库 > 实时控制软件第四周作业
实时控制软件第四周作业
- 冰球游戏系统模块设计:
- Gui窗口模块:负责整个游戏界面的绘制,作为整个游戏软件的运行载体,目前计划采用Qt窗体程序进行游戏主窗口的创建;
- OpenGL模块:在Gui窗口中进行游戏元素的绘制;
- 物理引擎模块:负责进行物理逻辑的计算,主要是碰撞和速度;
- 定时器模块:负责控制绘制频率;
- 游戏元素
- AI逻辑的处理:
主要是怎样使机械手AI判断球的轨迹并进行拦截。
- 具体设计如下:
模块接口:所有模块不应该使用构造函数和析构函数以保证按一定的顺序初始化和退出。使用StartUp和ShutDown代替构造函数和析构函数。
1 #include <QObject> 2 3 class BaseManager : public QObject 4 { 5 Q_OBJECT 6 7 public: 8 9 virtual void StartUp() = 0; 10 virtual void ShutDown() = 0; 11 12 public slots: 13 14 virtual void Update() = 0; 15 };
OpenGL管理器:大致框架如下,具体细节待完善。
1 #include <QOpenGLWidget> 2 #include "basemanager.h" 3 4 class OpenGLManager : public QOpenGLWidget , public BaseManager 5 { 6 Q_OBJECT 7 8 public: 9 10 static OpenGLManager* GetInstance(); 11 12 void StartUp(); 13 14 void ShutDown(); 15 16 public slots: 17 18 void Update(); 19 20 protected: 21 22 void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; 23 24 private: 25 26 OpenGLManager(); 27 28 static OpenGLManager* m_pInstance; 29 30 };
实时控制软件第四周作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。