diff --git a/main.py b/main.py index 724fc84b006cef4f6f7a992e88f42bbfa72ee8c7..9c7d88d8f260a945118ca5054cc049ed750c2c4d 100644 --- a/main.py +++ b/main.py @@ -99,6 +99,12 @@ def show_text(screen, pos, text, color, font_bold = False, font_size = 60, font_ #绘制文字 screen.blit(text_fmt, pos) +def reset_game(): + snake = Snake() + food = Food() + scores = 0 + isdead = False + return snake, food, scores, isdead def main(): pygame.init() @@ -106,22 +112,23 @@ def main(): screen = pygame.display.set_mode(screen_size) pygame.display.set_caption('Snake') clock = pygame.time.Clock() - scores = 0 - isdead = False + - # 蛇/食物 - snake = Snake() - food = Food() + # 初始化游戏状态 + snake, food, scores, isdead = reset_game() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: + pygame.quit() sys.exit() + if event.type == pygame.KEYDOWN: - snake.changedirection(event.key) - # 死后按space重新 + if not isdead: + snake.changedirection(event.key) + # 游戏结束后按空格键重置 if event.key == pygame.K_SPACE and isdead: - return main() + snake, food, scores, isdead = reset_game() screen.fill((255,255,255))