关键词:
- 冰球游戏系统模块设计:
- 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 };
《实时控制软件》第三周作业
... Xenomai是一种采用双内核机制的Linux内核的强实时扩展。优先级高于Linux内核,它负责处理系统的实时任务。Xenomai无缝集成到Linux操作系统,从而无障碍所有的Linux软件栈源代码和更多的东西Xenomai实时内核为开发强实... 查看详情
实时控制软件设计第一周作业
... 以汽车ABS系统的软件系统进行案例分析: 一、强实时功能需求有:1.汽车车轮转速的实时监测,实时计算出轮速、参考车速、车轮加速度、滑移率等参数; &... 查看详情
实时软件控制第二周作业
停车场门禁控制系统的状态机设计门禁控制系统的输入信号包括:起落杆位置传感器:有两个位置值信号(升起/落下)汽车入闸传感器:有两个值(True/False)汽车出闸传感器:有两个值(True/False)门禁控制系统的输出信号包括... 查看详情
实时控制软件第二次作业
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 下载二进制文件... 查看详情
实时控制软件设计第二周作业
一.汽车出入门禁系统状态机设计状态机所有状态:入闸传感器(两种状态):Ture False (分别用ET和EF表示)出闸传感器(两种状态):Ture False (分别用OT和OF表示)起落杆(两种状态): UPDOWN  ... 查看详情
第四周作业
...的常用方法和步骤步骤1、获取和引导需求 软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出真实的需求。 很多时候用户并不知道自己确切的需求,或者不愿意表达... 查看详情
实时控制软件第二次作业--停车场门禁控制系统状态机
作者:李君威U201310747 状态机图示: 将起落杆的位置状态和通行灯信号作为两个类对象,汽车出入闸传感器信号作为输入,编写代码:1//qichemenjin.cpp2//CopyrightbyJustin.34#include"stdafx.h"5#include<iostream>6usingnamespacestd;7cla... 查看详情
实时控制软件设计第二周作业-停车场门禁控制系统状态机
画出动作转换图为: 使用模块化设计,将起落杆、出入传感器和通行灯设计成四个模块,分别继承设计好的系统模块接口:1//FSM_Interface.h2#pragmaonce34namespaceFSM5{67classISystemUnit//系统单元接口8{9public:1011virtualvoidInitialize()=0;//初始... 查看详情
实时控制软件设计第一周作业-汽车abs软件系统案例分析
...频增压,保压,减压,防止车轮抱死。Q1.该系统有哪些强实时功能 查看详情
软件工程第四周作业-单元测试
单元测试内容:生成试题中缀表达式转后缀表达式并计算代码地址:https://git.coding.net/Vector121/f4.git结对成员:@刘耀泽生成试题 测试用例(一) 传入参数: 参数1:stringnum1="10"; //第一个操作数 参数2... 查看详情
机电传动控制第四周作业
1根据仿真结果,可得出在额定状态下,额定转速为n=1472.93,对应的电磁转矩为11.5137。又有同步转速n0=1500r/min,得到S=0.018由公式,代入其他参数值,可求得K=0.00541.用MATLAB绘制异步电动机的固有特性曲线为:2通过串联转子电阻来实... 查看详情
实时控制软件设计第二周作业-停车场门禁控制系统状态机设计
门禁控制系统的输入信号包括:起落杆位置传感器:有两个位置值信号(升起/落下)汽车入闸传感器:有两个值(True/False)汽车出闸传感器:有两个值(True/False)门禁控制系统的输出信号包括:起落杆电机控制信号:(上升/... 查看详情
软件测试第四周作业wordcount优化(代码片段)
Github地址https://github.com/husterC/WordCountGroupworkPSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 ·Estimate·估计这个任务需要多少时间540 780Development开发 ·Analysis·需求分析(包括学习新技术) 60&... 查看详情
软件工程第四周作业-psp
psp表格类别内容开始时间结束时间中断时间delta时间学习学习C#10.6下午7:0010.6下午8:00-60min写代码写主函数以及一些小的方法10.7下午2:0010.7下午8:30吃饭30min600min学习学习逆波兰表达式计算10.8下午0:3010.8下午1:00-30min写代码整合各种... 查看详情
软件工程第四周作业代码规范
一.缩进与对齐:1)大括号匹配纵列对齐。2)对于缩进,除了编译器提供的符号缩进之外,我们可以自己给自己一个规范(请少用或者不用 Tab),比如每一块代码相较上一个代码块有 4 个空格的缩进。二.函数长度每个函数... 查看详情
第四周作业(代码片段)
...。学习包括静态变量、静态方法在内的静态类成员。学习软件系统中的类之间的各种各样的关系。学习接口的定义以及使用和实现。对第三章所提到的枚举类型进行了进一步的学习。对方法设计进行了初步的学习。对方法重载进... 查看详情
软件工程第四周作业-四则运算
程序代码:https://git.coding.net/Vector121/f4.git 编写思路:1.随机生成四个整数和三个操作符,并在其中随机插入括号,最后将其拼成试题字符串。2.将中缀表达式转换成后缀表达式并在转换的过程中计算出结果。3.显示试题并获取... 查看详情
2017-2018-220179305《网络攻防技术》第四周作业
...现方式交换网络:MAC地址洪泛攻击、MAC欺骗、ARP欺骗相关软件类UNIX平台网络嗅探器软件:libpcap抓包开发库、tcpdump、wiresharkWindows平台网络嗅探器软件:winpcap、windu 查看详情