实时控制软件第四周作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实时控制软件第四周作业相关的知识,希望对你有一定的参考价值。
- 冰球游戏系统模块设计:
- 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 };
以上是关于实时控制软件第四周作业的主要内容,如果未能解决你的问题,请参考以下文章