Créer un délai pour une fonction
nocinoir
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je débute en python et j'ai des difficultés à créer un délai dans l'exécution d'une fonction SANS mettre en pause le programme entier. Je m'explique :
J'ai un menu basique avec plusieurs actions possibles : ramasser du bois, ramasser de la nourriture, afficher les ressources.
J'aimerai que quand l'utilisateur utilise, par exemple, la fonction " ramasser du bois ", celle-ci se mette en pause pendant un temps déterminé, mais que l'utilisateur puisse tout de même utiliser les autres fonctions ( ramasser nourriture, afficher ressources ).
Ma difficulté viens du fait qu'avec time.sleep, c'est le programme entier qui se met en pause.
Y'a il un moyen de faire ce que j'ai décris ?
Merci par avance à ceux qui prendront le temps de me répondre
ps: j'utilise python 3
je débute en python et j'ai des difficultés à créer un délai dans l'exécution d'une fonction SANS mettre en pause le programme entier. Je m'explique :
J'ai un menu basique avec plusieurs actions possibles : ramasser du bois, ramasser de la nourriture, afficher les ressources.
J'aimerai que quand l'utilisateur utilise, par exemple, la fonction " ramasser du bois ", celle-ci se mette en pause pendant un temps déterminé, mais que l'utilisateur puisse tout de même utiliser les autres fonctions ( ramasser nourriture, afficher ressources ).
Ma difficulté viens du fait qu'avec time.sleep, c'est le programme entier qui se met en pause.
Y'a il un moyen de faire ce que j'ai décris ?
Merci par avance à ceux qui prendront le temps de me répondre
ps: j'utilise python 3
2 réponses
-
Salut,
Comment crées-tu ces actions ? As-tu un exemple de code ? -
Bonjour,
Je ne sais pas si c'est la meilleure méthode, mais tu peux faire :
1 - Tu mesures le temps
2 - Tu fais une boucle while tant que le temps courant - le temps enregistré est inférieur à ton délai
3 - Tu testes si une touche a été saisie avec msvcrt.kbhit() (marche sur Windows).
Cdlt,