游戏引擎是有限状态机最为成功的应用领域之一,由于设计良好的状态机能够被用来取代部分的人工智能算法,因此游戏中的每个角色或者器件都有可能内嵌一个状态机。考虑RPG游戏中城门这样一个简单对象,它具有打开(Opened)、关闭(Closed)、上锁(Locked)、解锁(Unlocked)四种状态,如图所示。当玩家到达一个处于状态Locked的门时,如果此时他已经找到了用来开门的钥匙,那么他就可以利用它将门的当前状态转变为Unlocked,进一步还可以通过旋转门上的把手将其状态转变为Opened,从而成功进入城内。
图:控制城门的状态机
在描述有限状态机时,状态、事件、转换和动作是经常会碰到的几个基本概念。
- 状态(State)
- 事件(Event)
- 转换(Transition)
- 动作(Action)
https://www.ibm.com/developerworks/cn/linux/l-fsmachine/
时间: 2024-11-05 02:41:48