0
このプログラムは数秒間実行した後も何とかクラッシュし続けます。誰か助けてくれますか? ソートアルゴリズムを視覚化するためのプログラムです。私が間違っていることをたくさんしているのですが、私はちょうどpygameを使い始めました。すごく残念です。 ご協力いただきありがとうございます!pygameはしばらくの間実行された後もクラッシュし続けます
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)はsnake_case名を使用することをお勧めします変数や関数の場合は下線付きの小文字(例: 'def loop():'です。上のラクセルはクラス用です。 – skrx
ちょうど1つの質問,, sysとは何ですか? –
ここで 'sys.exit()'は実際には必要ありません(私はそれを削除しました)。なぜなら、関数は関数が返ってプログラムがファイルの最後に到達すると、他のプログラムとして正常に終了するからです。 'pygame.quit()'コールは、ウィンドウを閉じることができないため、IDLE IDEを使用する場合にのみ必要です。 – skrx