Question timer

Question timer

by Arnaud Sansonnens -
Number of replies: 1

Bonjour,


Pour mon projet, j'ai mis les fonctions responsable de la gestion du temps dans mon module simulation.

En effet, selon moi, la gestion du temps ne dépend pas de l'affichage, mais de la simulation de mon jeu. On doit pouvoir changer de partie graphique sans impacter sur le déroulement de notre jeu sans affichage.


Mais du coup, les fonctions Glib::signal_timeout(...), on_timeout(), etc sont dans le module simulation,

Pour faire compiler mon programme, je suis obligé d'inclure <gtkmm.h> dans simulation. Hors nous n'avons normalement pas le droit de l'inclure dans simulation.h

Du coup, existe-t-il une library à inclure dans simluation pour pouvoir utiliser le timer en restant dans la consigne.


De même, existe-t-il une méthode pour appeler une mise à jour de l'affichage depuis une fonction de simulation  ? 

Les solutions que vous avez données dans un post précédent sont sensés marcher quand on est dans le module gui, comment faire quand on est dans le module simulation.




In reply to Arnaud Sansonnens

Re: Question timer

by Ronan Boulic -

je résume la discussion que nous venons d'avoir en CO 023.

Le timer étant une fonctionalité de GTKmm celui-ci doit être géré depuis le module gui car le sous-système du Modèle ne doit avoir aucune dépendance vis à vis de la bibliothèque GTKmm (Fig 9b). 

la responsabilité du module simulation c'est d'être capable de calculer  une mise à jour pour une durée DELTA_T définie dans define.h. Cela n'implique aucune dépendance vis à vis d'un timer. Le module simulation fournit la fonction ou méthode qui réalise cette action dans son interface et le module gui, qui gère aussi le dialogue utilisateur, utilise cette fonction selon l'usage des boutons start et Step.

L'affichage doit être fait depuis le module gui puisqu'on utilise des fonctions de GTKmm.