Ce programme se bloque en quelque sorte après une exécution de quelques secondes. Est-ce que quelqu'un peut m'aider? C'est un programme de visualisation d'algorithmes de tri. Je suis désolé si je fais beaucoup de choses mal mais j'ai juste commencé à utiliser pygame et je ne suis toujours pas complètement sûr de la façon dont tout fonctionne. Merci pour votre aide!pygame continue à se bloquer après avoir fonctionné pendant un certain temps
import random
import time
import pygame
pygame.init()
display_width=1200
display_height=800
gamedisplay=pygame.display.set_mode((display_width,display_height))
clock=pygame.time.Clock()
correct=[]
shuffled=[]
for i in range(100):
correct.append(i+1)
shuffled.append(i+1)
random.shuffle(shuffled)
block_width=display_width/(len(shuffled))
def bar(block_width,shuffled):
for i in shuffled:
colour=(i,i,255)
pygame.draw.rect(gamedisplay, colour,
[shuffled.index(i)+shuffled.index(i)*block_width,750,block_width,-i-i*2.5])
def inserting(shuffled):
a=0
for i in range(len(shuffled)):
x=a
while shuffled[x]>shuffled[x+1] or x+1==len(shuffled):
change=shuffled[x]
shuffled.remove(shuffled[x])
shuffled.insert(x+1,change)
if a+1!=len(shuffled)-1:
a=a+1
else:
a=0
return shuffled
def Loop(block_width,shuffled,correct):
FPS=10
while shuffled!=correct:
shuffled=inserting(shuffled)
bar(block_width,shuffled)
pygame.display.update()
time.sleep(1/FPS)
bar(block_width,shuffled)
pygame.display.update()
print(shuffled)
Loop(block_width,shuffled,correct)
[PEP 8] (https://www.python.org/dev/peps/pep-0008/#naming-conventions) recommande d'utiliser les noms snake_case (minuscule avec des underscores) pour les variables et les fonctions, par exemple 'def loop():'. Upper camelcase est pour les classes. – skrx
juste une question ,, quel est sys? –
Vous n'avez pas besoin de 'sys.exit()' ici (je l'ai supprimé), puisque le jeu se fermera normalement comme tout autre programme lorsque la fonction reviendra et que le programme atteindra la fin du fichier. L'appel 'pygame.quit()' n'est nécessaire que si vous utilisez l'IDLE IDE, car il ne peut pas fermer la fenêtre. – skrx