Créer un délai pour une fonction

Fermé
nocinoir Messages postés 7 Date d'inscription mardi 29 avril 2014 Statut Membre Dernière intervention 16 janvier 2015 - 23 déc. 2014 à 14:43
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 déc. 2014 à 23:53
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 dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
23 déc. 2014 à 22:25
Salut,
Comment crées-tu ces actions ? As-tu un exemple de code ?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
23 déc. 2014 à 23:53
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