关于有限状态机(FSM)的思考

有限状态机(finite state machine)是一个数学概念,如果把它运用于程序中,可以发挥很大的作用。它是一种协议,用于有限数量的子程序(“状态”)的发展变化。每个子程序进行一些处理并选择下一种状态(通常取决于下一段输入)。有限状态机(FSM)可以用作程序的控制结构。FSM对于那些基于输入的在几个不同的可选动作中进行循环的程序尤其合适。

  在游戏中涉及到状态状态切换的时候,可以尝试使用这种机制,如人物的动作,AI行为等等。有限状态机确保了每个状态在切换的时的安全性,在状态切换时可以进行一些其他的处理操作。 当然也有人认为有限状态机时代已经终结,如这篇文章:http://www.cppblog.com/woaidongmao/archive/2009/10/31/99892.aspx