实时控制软件第四周作业

  • 冰球游戏系统模块设计:
  1. Gui窗口模块:负责整个游戏界面的绘制,作为整个游戏软件的运行载体,目前计划采用Qt窗体程序进行游戏主窗口的创建;
  2. OpenGL模块:在Gui窗口中进行游戏元素的绘制;
  3. 物理引擎模块:负责进行物理逻辑的计算,主要是碰撞和速度;
  4. 定时器模块:负责控制绘制频率;
  5. 游戏元素
  • 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 };

  

时间: 2024-12-24 09:04:11

实时控制软件第四周作业的相关文章

实时控制软件第二次作业

0. Fork例程到自己的GitHub账号: 开发环境搭建 1. QEMU安装 建议使用qemu-system-gnuarmeclipse,该qemu分支对stm32f4有更好的支持,主要面向Eclipse开发环境. 到网页 https://github.com/gnu-mcu-eclipse/qemu/releases/tag/gae-2.8.0-20161227 下载二进制文件 gnuarmeclipse-qemu-debian64-2.8.0-201612271623-dev.tgz到~/

实时控制软件设计 第一次作业

#include <iostream> #include <cstring> #include <math.h> #include <Eigen/Dense> using Eigen::MatrixXd; using namespace std; class Point {  public:  double x;  double y;  void Showpoint(void);  void movexy(MatrixXd p);//平移算子  void r

实时控制软件第二次作业--停车场门禁控制系统状态机

作者:李君威U201310747 状态机图示: 将起落杆的位置状态和通行灯信号作为两个类对象,汽车出入闸传感器信号作为输入,编写代码: 1 // qichemenjin.cpp 2 //Copy right by Justin. 3 4 #include "stdafx.h" 5 #include <iostream> 6 using namespace std; 7 class Liftlever 8 { 9 public: 10 bool Leverstate; //起

第四周作业之wcPro核心模块的实现

第四周作业之wcPro核心模块的实现 一.基本任务:代码编写+单元测试 小组github地址 https://github.com/SkateCloud/wcPro PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 60 Estimate 估计任务需要多少时间 30 60 Development 开发 120 180 Analysis 需求分析 20 30 Design Spec 生成设计文档 20 30 Design Review 设计复审

第四周作业

第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. (1)复制/etc/skel目录为/home/tuser1 [[email protected] ~]# cp -r /etc/skel/ /home [[email protected] ~]# mv /home/skel /home/tuser1 [[email protected] ~]# ll -a /home/tuser1/ total 2

解题报告——2018级2016第二学期第四周作业 (2的幂次方)

解题报告——2018级2016第二学期第四周作业 题目: 描述 任何一个正整数都可以用2的幂次方表示.例如:137=27+23+20. 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7= 22+2+20   (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=210 +28 +25 +2+1 所以1315最后可表示为: 2(2(2+2(0))+

android第四周作业笔记

第四周作业要求如下 .....看了一下作业要求后,然后做了几周后.....老师....你这是玩我是吧?!你绝壁在玩我?! 算了,多说无益,来看看我们江大婶的做法吧 首先是MainActivity.java package cn.edu.shu.cs.android.experiment04; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import and

《实时控制软件设计》读书笔记

读书笔记 在浅读过<构建之法:现代软件工程>第一章和邹欣老师的一些博文后,我对以下四个方面有了一些粗陋的认识. 一.      对软件工程的理解 <构建之法>第一章中对软件工程有着自己的理解.书中提到“软件=程序+软件工程”这一概念.同时,书中还指出软件工程包含软件需求分析.软件设计.软件构建.软件测试和软件维护这些领域.看过这些介绍后,我认为首先要弄请程序.软件.软件工程的区别.正如书中提到阿超的例子一样,程序只是完成某一项或几项简单任务的代码和数据结构集成:而软件则是能满足用户

2017-2018-1 20155302 第十四周作业

2017-2018-1 20155302 第十四周作业 重新精学第十一章网络编程相关知识 第十一章网络编程因为之前在刘念老师的课上有所涉及有所讲解所以娄老师并没有着重讲这块知识,但我个人认为此章知识非常重要,是我们学习WEB编程和信息安全程序设计的基础,而且这章知识自问之前学习的并不好,并不牢靠,于是借着此次机会更加深入的学习重温一下网络编程方面的知识,好为今后的网络编程道路做好铺垫,学习一章内容两门课都能受益,何乐而不为呢? 首先回答几个问题,这些问题也是之前概念混淆所遗留下来的,此次重新学习