J'ai un certain nombre d'événements qui se produisent dans une partie. Je veux contrôler l'heure et l'ordre dans lesquels ces événements se produisent.F #: Stockage et mappage d'une liste de fonctions
Par exemple:
Event 1: Afficher un texte sur l'écran pour N trames & jouent un effet sonore
Event 2: Effacer le texte sur l'écran
Ma solution (peut-être il y a un meilleur), est d'avoir une liste de fonctions qui contiennent les événements. Les événements exécutent leur comportement puis retournent les prochains événements à se produire dans le jeu. J'ai pensé à utiliser List.map ou List.collect parce que je suis essentiellement mappant une liste d'événements à une nouvelle liste d'événements tout en exécutant du code de comportement.
Dans l'exemple ci-dessus, Event1 peut être composé de deux fonctions: une qui affiche du texte et une qui lit un son (d'où la nécessité d'une liste). La fonction qui affiche le texte renverrait une copie de lui-même pour N-1 images alors il retournerait Event2 qui efface le texte. La fonction de lecture sonore renvoie l'équivalent d'une opération non-op.
Si c'est une bonne solution, je pourrais probablement le faire en C++ ou en C#. Mon but est de faire une solution équivalente ou meilleure en F #.
Quel est le problème que vous essayez de résoudre avec votre liste de fonctions? –
J'ai modifié ma question initiale telle qu'elle était définie dans l'espace de solution; pas d'espace problème. J'espère que cela clarifie les choses. – rysama