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 11069 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

A voir également:

2 réponses

dsy73 Messages postés 9252 Date d'inscription   Statut Contributeur Dernière intervention   2 485
 
Salut,
Comment crées-tu ces actions ? As-tu un exemple de code ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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,
0