Machine à états finis (FSM) et Java d'Android
Je suis prêt à développer un jeu de football pour Android.
En raison de la complexité de l'IA, je pense vraiment que j'ai besoin de la conception à l'aide d'un FSM (Finite State Machine) et non un monstre commutateur.
Recherche sur google, j'ai trouvé quelques FSM écrit en Java, mais rien explicitement compatible avec Android: je me demande si il y a quelqu'un ici qui a utilisé un FSM avant pour cette plate-forme.
source d'informationauteur Luigi | 2010-09-23
Vous devez vous connecter pour publier un commentaire.
Je cherchais un FSM pour Android il y a quelques mois, mais ne pouvait pas trouver quoi que ce soit approprié, il a donc crée mon propre.
Je l'ai utilisé dans quelques projets de maintenant et tout à fait heureux. Il rend le code beaucoup plus propre et facile à utiliser. Si quelqu'un est toujours à la recherche d'une machine d'état pour java, consultez EasyFlow.
Vous pouvez contribuer à la réalisation du projet.
Android a une interne Hiérarchisée de l'État de la Machine (HSM), qui s'intègre avec la Android File d'attente de messages.
Il est interne, de sorte que vous n'êtes pas en mesure d'accéder à ce qu'il soit explicitement à partir du SDK.
Toutefois, si vous respectez les termes de la licence Apache 2.0, vous pouvez faire votre propre version.
https://android.googlesource.com/platform/frameworks/base/+/gingerbread-release/core/java/com/android/internal/util/HierarchicalStateMachine.java
Edit:
Cette classe est maintenant appelé StateMachine.
Ce state machine (FSM) de mise en œuvre utilisés dans Android et de Google semble être une bonne option. Vous pouvez l'obtenir ici sur Github.
Vous pouvez utiliser le
StateMachine
classe pour définir les états, l'état initial, vous pouvez effectuer des tâches lorsque vous entrez ou sortez d'un état, vous pouvez envoyer des événements et différés événements afin de mettre en œuvre des délais d'attente par exemple.Je n'ai pas trouver de nombreuses autres solutions de rechange, mais cette application contient toutes les fonctionnalités que je recherchais. C'est une partie du projet Android, donc je suppose que cela a été bien testé. Espérons que cette aide.
Une autre option open source est Moteur par @doridori