IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Créer un timer sur python


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 5
    Par défaut Créer un timer sur python
    Bonjour, j'essaie de créer un jeu sur python avec pygame et je dois créer un timer qui dure 40 secondes (durée de jeu de la partie). J'ai cherché sur internet et j'ai trouvé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def timer(time_start, t):
        print("temps:{:.0f}".format(time()-time_start))
        return ((time()-time_start)>=t)
     
    def jouons(t):
        time_start= time() #valeur de référence pour le début du chrono
        jouons3(time_start,t)
     
    def jouons3(time_start, t):
        while not timer(time_start,t):
            None #juste pour que mon interpreteur ne m'en veuille pas pour l'indentation
        return("time's up")
    Il marche mais je ne sais pas comment faire pour qu'il s'actualise seulement chaque secondes. Auriez-vous des conseils ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Si vous utilisez Pygame, vous avez une boucle évènementielle qui est appelée régulièrement pour récupérer des events et y réagir. Puis vous avez pygame.time.set_timer qui permet de créer un event qui se déclenche toutes les secondes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 5
    Par défaut
    Bonjour, tout d'abord merci de votre réponse. Je n'ai pas compris la première partie de votre réponse "vous avez une boucle événementielle qui est appelée régulièrement pour récupérer des events et y réagir". qu'est-ce qu'une boucle événementielle, comment l'appeler et y réagir ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 5
    Par défaut
    J'oubliais, pour le pygame.time.set_timer, je dois mettre 2 arguments, mais je ne comprends pas ce qu'est le premier ("eventid"), à quoi correspond-il ?

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Citation Envoyé par MonsieurCharles Voir le message
    qu'est-ce qu'une boucle événementielle, comment l'appeler et y réagir ?
    C'est juste le nom de cette construction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while True:
     
    	for event in pygame.event.get():   #On récupère les événements reçus
    		if event.type == QUIT:     #Si QUIT
    			break
                    ...
    que vous avez dans la plupart des animations faites avec pygame.

    Citation Envoyé par MonsieurCharles Voir le message
    J'oubliais, pour le pygame.time.set_timer, je dois mettre 2 arguments, mais je ne comprends pas ce qu'est le premier ("eventid"), à quoi correspond-il ?
    A ce que vous testez dans cette boucle pour y réagir...

    Rien de transcendant, juste ce qu'on apprend en ouvrant un bon tuto. sur Pygame.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2014, 10h15
  2. créer un fichier en python et l'enregistrer sur le disque
    Par nancy maman dans le forum Général Python
    Réponses: 7
    Dernier message: 11/04/2011, 09h46
  3. [][Timer] Créer un Timer sans utiliser le composant
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 01/10/2003, 11h04
  4. quel langage pour créer des "applications" sur 1 s
    Par jaribu dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 30/07/2003, 14h06
  5. Créer des objets sur la pile ?
    Par Cornell dans le forum Langage
    Réponses: 8
    Dernier message: 03/03/2003, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo