有限状态机基础知识记录

来源:互联网 发布:学唱简谱软件 编辑:程序博客网 时间:2024/06/16 22:41

有限状态机是指,根据输入在有限个状态之间切换,从而促使行为或者输出之类的产生,并且同时只能存在一个状态。比如开关,就是开和关2个状态。
最基本的代码结构:

c#代码class State{    public virtual void Execute(Entity vEntity)    {}}class Entity{    private State _curState;    void update()    {        _curState.Execute(this);    }    public void ChangeState(State vState)    {        if(vState == null)            return;        this._curState = vState;    }}

这是最基本的代码结构,还可以扩展出State类分进入,更新,退出三个方法。Entity可能还会有之前状态,方便从一个状态退出后回到原来的状态。还可以加个管理器给Entity,来做状态的管理。还可以加入消息通知机制,AI可以做出相应反应。
总的来说,这些扩展都是根据需求来设计的,每个人都可以根据自己的创意来做任何的扩展。如果我看到比较有趣的扩展会再更新,给自己提供一个思路。

原创粉丝点击