java实现细胞自动机
这篇文章将解决在Java中实现有限状态机的问题。 如果您不知道什么是FSM或在什么地方可以使用FSM,您可能会热衷于阅读
本 ,
本和
本 。
如果您发现自己在设计上使用FSM的情况,则可能已经开始为实现相同接口的每个状态编写类。 一个好的设计可能是:
interface State { }
class State_1 implements State {}
class State_2 implements State {}
...
您可能有一个类可以管理这些状态以及它们之间的过渡,而另一个可以实现FSM的上下文(输入带状区域),另一个用于起始状态的接口,另一个用于结束状态的接口,依此类推。 许多类散布在许多文件中,使您无法快速跟踪它们。
还有另一种方法:使用枚举。
枚举本质上是类的列表,并且枚举的每个成员可能具有不同的实现。 假设我们要