Je veux faire un match de football et je veux le faire pour que le joueur ne reçoive que 10 secondes pour aller à la fin, sinon le jeu se termine. p>
Comment puis-je faire ça? P>
3 Réponses :
vous peut utiliser em> Utiliser le module TIME (cliquez sur ici pour les docs).
Voici un programme qui imprimerait "Je suis un remplaçant pour tout ce que tu fais dans Pygame!" Jusqu'à 5 secondes car le démarrage a passé import time
start = time.time()
seconds = 5
while not time.time() >= start + seconds:
print("I'm a replacement for whatever you do in pygame!")
print(str(seconds)," seconds is up!")
Obtenez l'heure de début du Fonction pygame.time.get_ticks () code>. Cela vous donne l'heure actuelle (puisque Pygame a commencé) en millisecondes. Stockez cela quelque part.
while not exiting:
...
time_now = pygame.time.get_ticks()
# is the time limit used-up?
if ( time_now > player_start_time + MAX_EVADE_TIME ):
doGameOver() # or whtever
Je suggérerais d'utiliser vous Faites quelque chose comme ceci: p> pour démarrer la minuterie A 10 secondes qui déclenchera un pygame.usereevent quand il s'éteint. Vous surveilleriez cet événement dans la boucle d'événement en ajoutant un test comme celui-ci: p> pygame.time.set_timer () code> et de la mécanique des événements Pygames, car vous avez déjà une boucle de traitement d'événement dans votre jeu. Voir le SET_TIMER DOCS ici .
my_event = pygame.event.Event(pygame.USEREVENT, {"tracker": "gameover"})
pygame.time.set_timer(my_event , 2000)
Oui, c'est un bon moyen de le faire.
Bienvenue sur Stackoverflow. Pouvez-vous poster ce que vous avez fait? Et comment pouvons-nous vous aider à réussir?