Discussion:Matomo/interfaces club

Julien :

J'ai ajoute un script dans la partie IA.

Ca represente une nouvelle facon de gerer les evenements : en effet au debut je pensais plutot a une solution de ce type : L'utilisateur a deux possibilites :

  • soit il attend explicitement l'evenement en faisant un wait() bloquant
  • soit il relie l'evenement a une fonction, a ce moment un nouveau thread est cree automatiquement et attends l'evenement pour lancer la fameuse fonction...

Mais je me suis rendu compte que certains evenements demandaient une interruption du traitement en cours, et que de plus on avait parfois besoin d'attendre plusieurs evenement simultanement.

Donc apres reflexion je me suis plutot oriente vers une solution du type framework : Tout les evenements possibles sont relies en dur a des fonctions virtuelle de la classe IA, on peut alors heriter de cette classe et redefinir a volonte ces fonctions. Le probleme est alors que l'on introduit une certaine 'staticite' de ces fonctions, en effet on aimerait peut etre pouvoir changer de reaction a un evenement suivant l'avancement du match.

Je me suis alors mis a rever d'une redefinition a la volee de ces fonctions avec des pointeurs de fonctions, mais bon c'est pas super pratique tout de meme. Un autre probleme vient des evenements a parametres : comment faire pour relier automatiquement si on sait pas que c'est 468 ms avant la fin du match que l'on veut etre prevenu. On peut alors penser a changer le systeme d'evenement : au lieu d'avoir un evenement different pour chaque parametre (ce a quoi je pensais au debut), on a une fonction separee pour regler le parametre, et pour chaque type d'evenement on peut specifier qu'un seul parametre, dans certains cas c'est pas trop genant, mais dans d'autre (cf timer par exemple), c'est moins pratique, voire meme inutile.

Voila, si vous avez des idees, n'hesitez pas...


[Insert a good idea here]

Démarrer une discussion sur Matomo/interfaces club

Démarrer une discussion
Revenir à la page « Matomo/interfaces club ».