请问实现自动状态机编程问题~!分不够再加!

danmao 2003-04-03 06:25:15
状态机的实现编程有多种实现方法,但是我希望在编译成程序以后,程序还可以根据配置文件来决定状态:定义状态个数、一个状态转入下一个状态的条件都在配置文件中给出。这样的功能该怎样设计?
...全文
52 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
danmao 2003-04-24
  • 打赏
  • 举报
回复
唉,看来是没人回复了。:(
danmao 2003-04-07
  • 打赏
  • 举报
回复
CaptainIII(山上人) :你可以说说你是怎么做的吗?后来放弃了?你说的是什么地方需要解耦?
harry202 2003-04-04
  • 打赏
  • 举报
回复
对你的算法不了解,只能推测了。
如果写死你已经可以实现了吗?如果可以,则可把条件保存在1个链表内,再定义一个文件格式,在需要判断的时候从文件读取。
CaptainIII 2003-04-04
  • 打赏
  • 举报
回复
不是太好搞,分析过几个关于FSM的设计模式,挺麻烦的。由于有this指针的存在,想解耦不是那么容易,你的问题是基于动态对象重构,用C++实现挺麻烦的,我最后再项目重放弃了,你可以以FSM + Design Pattern + pdf查查看,看看别人做的工作。gz
flyfash 2003-04-04
  • 打赏
  • 举报
回复
学习
danmao 2003-04-04
  • 打赏
  • 举报
回复
harry202(harry) , :)
你说的太轻巧了,我需要在状态中间定义一些操作,这个状态怎么样的我在编程的时候不知道。配置文件中写出这个状态接收哪些条件,得到这个条件后需要怎样的操作。这些程序中不知道。
harry202 2003-04-04
  • 打赏
  • 举报
回复
你都已经解决了啊,需要的参数从文件读取,不要写死就可以了
danmao 2003-04-04
  • 打赏
  • 举报
回复
算法基本按照design patterns 中的State pattern。

CaptainIII(山上人),你能够说说你的体会吗?

harry202(harry),我们定义一些术语吧,这样好讨论。

State:状态
Event:触发事件
Operator:操作
StateMachine:状态机

你有没有看State模式?
一般来说Event传入一个Current State,如果这个State能够响应这个Event调用它的Operators(注意:可能有多个)。

现在需要在运行时确定的就是:
1、State的个数
2、State所包含的Operator

我是这样想的。各位有什么好建议?

19,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧