当前位置: 首页 > news >正文

昆山科技网站建设无锡网站排名优化报价

昆山科技网站建设,无锡网站排名优化报价,django 做的网站,潍坊做网站维护费用火箭状态模式,涵盖发射、多级分离、入轨、返航、紧急状态等流程,以及状态间的转换逻辑: 状态设计 状态列表: IdleState(待机)PreparingState(准备)LaunchingState(发射中)FirstStageSeparatingState(一级分离)SecondStageSeparatingState(二级分离)ThirdStageSep…

火箭状态模式,涵盖发射、多级分离、入轨、返航、紧急状态等流程,以及状态间的转换逻辑:


状态设计

  1. 状态列表

    • IdleState(待机)
    • PreparingState(准备)
    • LaunchingState(发射中)
    • FirstStageSeparatingState(一级分离)
    • SecondStageSeparatingState(二级分离)
    • ThirdStageSeparatingState(三级分离)
    • OrbitingState(轨道运行)
    • ReturnPreparingState(返航准备)
    • ReturningState(返航中)
    • EmergencyState(紧急状态)
    • LandedState(着陆)
  2. 状态转换图

    Idle → Preparing → Launching → FirstStageSeparating → SecondStageSeparating → ThirdStageSeparating → Orbiting↑      |               |           |                     |                       |             ↓|      |               |           |                     └─── EmergencyState ←───┘             ||      ↓               ↓           ↓                                                           ↓└── LandedState ←─ Returning ←─ ReturnPreparing ←──────────────────────────────────────────────┘
    

完整代码实现

#include <iostream>
#include <memory>
#include <stdexcept>class Rocket;// 抽象状态基类
class RocketState {
public:virtual void StartPreparation(Rocket& rocket) { Error("准备"); }virtual void StartLaunch(Rocket& rocket)      { Error("发射"); }virtual void SeparateStage(Rocket& rocket)    { Error("分离"); }virtual void EnterOrbit(Rocket& rocket)       { Error("入轨"); }virtual void ReturnToEarth(Rocket& rocket)    { Error("返航"); }virtual void HandleEmergency(Rocket& rocket)  { Error("紧急处理"); }virtual void Land(Rocket& rocket)             { Error("着陆"); }virtual ~RocketState() = default;protected:void Error(const std::string& action) {std::cout << "[Error] 当前状态不支持 " << action << " 操作!\n";}
};// ---------- 具体状态类 ----------
class IdleState : public RocketState {
public:void StartPreparation(Rocket& rocket) override;
};class PreparingState : public RocketState {
public:void StartLaunch(Rocket& rocket) override;void HandleEmergency(Rocket& rocket) override;
};class LaunchingState : public 
http://www.dtcms.com/a/396111.html

相关文章:

  • 做文献综述的文章用什么网站蚌埠网页设计
  • 网站开发报价明细表深圳市建网站公司
  • 自己做的网站被攻击了uc网页浏览器网页版
  • 审计追溯困难会对企业带来哪些风险
  • 一维差分(扫描线)之区间重叠
  • 电子商务网站怎么做二级子域名查询入口
  • 怎么查看网站虚拟空间wordpress中文编辑器插件安装
  • 17网站一起做网店新塘亚马逊关键词排名提升
  • 网站优化qq群南宁seo优势
  • 做电影网站失败了yeezy橙色
  • 硬件驱动——I.MX6ULL裸机启动(9)(RGBLCD相关设置)
  • php网站开发报告书wordpress手机主题mip
  • 济南教育论坛网站建设广州公司电商网站建设
  • MySQL索引原理解析:为什么选择B+树?
  • 手机网站解析域名电商网站制作成手机app
  • 自己网站怎么建设免费网站空间域名
  • 易企秀网站怎么做轮播图云南省建设厅网站
  • cms建站详细教程做网站如何大网页
  • 【Linux】系统部分——线程池的基本设计思路
  • 专业的家居行业网站制作视频素材网站推荐
  • C++第九篇:静态函数
  • 手机网站全屏代码莱芜都市网房产频道
  • 上海高品质网站建设公司揭阳东莞网站建设
  • Roo Code 的消息队列功能
  • Windows安全机制--模块执行防御
  • 网站开发 沈阳怎样查询江西省城乡建设厅网站
  • 导航网站备案河南网站推广那家好
  • 衡水网站优化最新远程网站建设服务器
  • 都匀网站开发的公司官方商城入口
  • 网站采用什么方法建设新春祝福图片在线制作