Finite State Machine (FSM) 和 Android 的 Java

2022-09-02 13:34:05

我愿意为Android开发一款足球游戏。

因为AI的复杂性,我真的认为我需要使用FSM(有限状态机)而不是怪物开关来设计它。

谷歌搜索我发现了一些用Java编写的FSM,但没有与Android明确兼容的内容:我想知道这里是否有人以前在该平台上使用过FSM。


答案 1

几个月前,我正在寻找适用于Android的FSM,但找不到合适的东西,所以不得不创建自己的。

到目前为止,我在几个项目中使用它,并且非常高兴。它使代码更加干净且易于使用。如果有人仍在为java寻找状态机,请查看EasyFlow

您也可以为项目做出贡献


答案 2

Android有一个内部分层状态机(HSM),它与Android消息队列集成。

它是内部的,因此无法从 SDK 显式访问它。

但是,如果您遵循Apache 2.0许可证的条款,则可以制作自己的版本。
https://android.googlesource.com/platform/frameworks/base/+/gingerbread-release/core/java/com/android/internal/util/HierarchicalStateMachine.java

编辑:
这个类现在被称为StateMachine


推荐