有限状态机:有限状态机的泛型编程介绍



有关有限状态机:

不想奢谈高深理论理论太过高深有可能编程实现么?我觉得可以这么简单理解吧个对象有多个状态(注意这里“对象”和“状态”都是广义和抽象)通过事件(event)触发使得状态(state)的间相互跃迁(transition)可以定义在状态切换时附加操作(op)而我们要实现有限状态机(finite state machine以下简称FSM)便是维护和管理这机制代码



性能效率要求高实时图形(如 3维网游)不可能用MFC这样商业框架,所以FSM便可以作为整个实时核心部分,游戏等说到底无非是区别些状态的间切换,如开始登录界面,选择角色界面,主游戏界面,单机版游戏还有专门版权等等.有些小游戏采用设计模式中State模式来作为游戏管理调度核心,但是作为大型游戏,采用种设计模式显示是难以胜任应用核心复杂要求,这样就必须有种成熟机制来完成这任务,今天我们来讨论FSM.



有关泛型编程:

泛型编程,模板,设计模式,其重要性和优越性尽人皆知,在此不过多讨论.我只是想说,从宏观上来, ,它们和作用是用c来表达些思想,而且这些思想还是实际代码!光这点就可以带来很多好处,如代码高复用率,灵活性和可扩展性,接口统性等等.





有关FSM比较流行资料是Game Programming Gems卷第 3章第 2篇文章,网上也流传有中译版.作者在里面讨论和实现了个简单FSM实现.他用采用State设计模式,FSM类管理许多FSMstate例子,大家有兴趣可以去参考,而现在要讨论个更加接近实际产品代码FSM实现.



Tags:  泛型编程 泛型编程与stl 有限状态机

延伸阅读

最新评论

发表评论