个人理解
阅读了一些关于有限状态机的章节后,有了以下简单的理解。自己也动手写了个用于自动化测试的项目,但总感觉自己还是没有完全驾驭这个设计模式。真希望在未来的某个时候能真正看到高手写的比较好的状态机模式源码。
有限状态机FSM也是设计模式中的状态机模式。
可以将上层需要做的逻辑判断延迟到状态子类中,让每个状态实现自己逻辑判断。在一定程度上减少了每个状态之间的耦合,并且有新的需求增加时,可以清晰的以增加一个类的方式扩展状态。
参考书目
《程序设计与数据结构》周立功 C
《游戏人工智能编程案例精粹》第二章 C++
《Unity3D人工智能编程精粹》第五章 C#
简单的代码示意
//上层逻辑实现(可以简单在main()调用)
BaseFSM* pJohnFSM = new JohnController();//创建人物John的状态机
while