Dieses Programm stürzt immer wieder ab, nachdem es einige Sekunden gelaufen ist. Kann mir jemand helfen? Es ist ein Programm zur Visualisierung von Sortieralgorithmen. Es tut mir leid, wenn ich viele Dinge falsch mache, aber ich habe gerade begonnen, Pygame zu benutzen, und ich bin mir immer noch nicht ganz sicher, wie alles funktioniert. Danke für Ihre Hilfe!pygame stürzt nach einer gewissen Zeit ab
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) empfiehlt snake_case Namen zu verwenden (Kleinbuchstaben mit Unterstrichen) für Variablen und Funktionen, z 'def Schleife():'. Oberes Camelcase ist für Klassen. – skrx
nur eine Frage ,, was ist sys? –
Sie brauchen hier eigentlich 'sys.exit()' nicht (ich habe es entfernt), da das Spiel normalerweise wie jedes andere Programm beendet wird, wenn die Funktion zurückkehrt und das Programm das Ende der Datei erreicht. Der Aufruf 'pygame.quit()' wird nur benötigt, wenn Sie die IDLE-IDE verwenden, da das Fenster nicht geschlossen werden kann. – skrx