Créer un délai pour une fonction

nocinoir Messages postés 9 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
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 9917 Statut Contributeur 2 486
 
Salut,
Comment crées-tu ces actions ? As-tu un exemple de code ?
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
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