Le programme Pygame ne se ferme pas toujours après avoir appuyé sur la croix rouge


piotrecobi

J'essaie de faire un simple jeu de tic tac toe en utilisant Pygame. Pendant que le jeu est joué, il faut parfois plus d'une pression sur la «croix rouge» pour quitter le jeu.

while playing is True:
    clock.tick(30)
    if round_number % 2 == 1:
        current_player = 1
    else:
        current_player = 2

    while True:
        pygame.event.get()
        if pygame.event.get(eventtype=pygame.QUIT):
            pygame.quit()
            exit()
        if pygame.mouse.get_pressed()[0] == 1:
            break

    while True:
        pygame.event.get()
        if pygame.mouse.get_pressed()[0] == 0:
            break

    place_object(current_player, pygame.mouse.get_pos())
    print(round_number)
    pygame.display.update()
    if 7 < pygame.mouse.get_pos()[0] < 393 and 7 < pygame.mouse.get_pos()[1] < 393:
        round_number += 1

    if round_number >= 3:
        if check_win(board) != "No winner" and check_win(board) != "tie":
            message = f"The winner is {check_win(board)}!"
            message_display(message)
            pygame.display.update()
            playing = False
        elif check_win(board) == "tie":
            message_display("Game is tied...")
            pygame.display.update()
            playing = False
Lapin76

pygame.event.get()renvoie une liste d'événements et les supprime de la file d'attente.
Vous devez gérer la liste en boucle, sinon vous manquerez des événements:

par exemple

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        exit()

Articles connexes


Pygame ne se ferme pas même après avoir appuyé sur une touche

Avyay Nair J'essaie donc de quitter le pygame en utilisant une fonction mais cela ne fonctionne pas. Il entre définitivement dans le bloc fonctionnel, mais pour une raison quelconque, il ne quitte pas après avoir appuyé sur une touche. S'il vous plaît aider. i

gdb se ferme toujours après avoir appuyé sur une touche

aj3423 J'ai vérifié la source gdb et compilé avec succès avec MinGW. Lorsque j'exécute le fichier de sortie gdb.exe, je ne peux rien entrer, toute pression sur une touche le ferait quitter: aj@TERRAN E:\ $ gdb --data-directory=E:\gdb_build\gdb\gdb-7.11\gdb\dat

Le programme ne se ferme pas après l'avoir quitté dans PyQt

Heisenberg Donc, récemment, j'essayais de créer un lecteur audio utilisant PyQt5, pygame et mutagen. Le programme fonctionne assez bien. Mais lorsque je joue une chanson et que j'essaie de quitter le programme, le programme cesse de répondre et la chanson cont

Le panneau ne s'affiche pas après avoir appuyé sur la touche

Former J'ai rencontré un problème étrange, j'ai défini un "raccourci clavier" pour afficher et masquer le panneau d'aide et cela fonctionne jusqu'à ce que j'appuie sur un bouton de fermeture (masquer) sur ce panneau, après cela le "raccourci clavier" ne foncti