3 回答

TA貢獻1806條經(jīng)驗 獲得超5個贊
我無法完全回答你的問題,因為很高興看到整個代碼,但我肯定會將其更改為:
while game_close:
self.dis.fill(colors("blue"))
self.message("You Lost! Press C-Play Again or Q-Quit", colors("red"))
self.Your_score(Length_of_snake - 1)
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_close = True
game_over = True
# exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_q]:
game_over = True
game_close = False
if keys[pygame.K_c]:
game_close = False
self.gameLoop()

TA貢獻1827條經(jīng)驗 獲得超4個贊
未包含整個代碼,缺少一個類,并且未定義一些方法。但首先我建議將所有按鍵更改為:
keys = pygame.key.get_pressed()
if keys[pygame.K_yourkey]:
# do something
if keys[pygame.K_yourotherkey]:
# do something
# and so on
并且不要將其放入事件 for 循環(huán)中

TA貢獻1735條經(jīng)驗 獲得超5個贊
嘗試改成這樣
for event in pygame.event.get():
if event.type == pygame.KEYUP:
if event.key == pygame.K_q:
game_over = True
game_close = False
elif event.key == pygame.K_c:
game_close = False
self.gameLoop()
添加回答
舉報