Máquina de estados finitos(FSM) y Java de Android
(4)
Android tiene una máquina de estado jerárquica interna (HSM), que se integra con la cola de mensajes de Android.
Es interno, por lo que no puede acceder a él explícitamente desde el SDK.
Sin embargo, si sigue los términos de la licencia Apache 2.0, puede crear su propia versión.
https://android.googlesource.com/platform/frameworks/base/+/gingerbread-release/core/java/com/android/internal/util/HierarchicalStateMachine.java
Editar:
Esta clase ahora se llama StateMachine .
Estoy dispuesto a desarrollar un juego de fútbol para Android .
Debido a la complejidad de la IA, realmente creo que necesito diseñarla utilizando un FSM (máquina de estados finitos) y no con un interruptor monstruo.
Buscando en Google encontré algunos FSM escritos en Java, pero nada explícitamente compatible con Android: me pregunto si hay alguien aquí que haya usado un FSM antes para esa plataforma.
Esta implementación de la máquina de estado (FSM) utilizada en Android y proporcionada por Google parece ser una buena opción. Puedes conseguirlo aquí en Github .
Puede usar la clase StateMachine
para definir estados, el estado inicial, puede realizar tareas cuando ingresa o sale de un estado, puede enviar eventos y eventos retrasados para implementar tiempos de espera, por ejemplo.
No encontré muchas otras alternativas, pero esta implementación contiene todas las características que estaba buscando. Esto es parte del proyecto de Android, por lo que supongo que fue bien probado. Espero que esto ayude.
Estaba buscando un FSM para Android hace unos meses, pero no pude encontrar nada adecuado, así que tuve que crear el mío.
Lo he usado en algunos proyectos por ahora y bastante feliz. Hace el código mucho más limpio y es fácil de usar. Si alguien todavía está buscando una máquina de estado para Java, revise EasyFlow .
Usted también puede contribute al proyecto.
Otra opción de código abierto es Engine by @doridori.