【发布时间】:2020-01-08 17:10:36
【问题描述】:
这是一个 python 蛇游戏的代码,我尝试使用模块 shelve 和 pickle 在尝试合并它们后没有成功,如网站上的其他问题所示。您是否知道包含这些模块或其他模块的方法,以便将高分打印在分数下方的终端中。到目前为止,每次蛇咬他的尾巴并且您关闭消息框时都会打印分数,然后立即开始新的游戏。目标是高分与分数同时打印。我遗漏了一些代码,如“[...]”所示如果您想查看它的其他部分,我很乐意展示它...
import pygame
import tkinter as tk
import random
import math
from tkinter import messagebox
[…]
def main():
global width, rows, s, snack
width=500
rows=20
win = pygame.display.set_mode((width, width))
s = snake ((0,255,0),(10,10))
snack = cube(randomSnack(rows, s), color=(255,0,0))
flag = True
clock=pygame.time.Clock()
while flag:
pygame.time.delay(50)
clock.tick(10)
s.move()
if s.body[0].pos == snack.pos:
s.addCube()
snack = cube(randomSnack(rows, s), color = (255,0,0))
for x in range(len(s.body)):
if s.body[x].pos in list(map(lambda z:z.pos,s.body[x+1:])):
print('Score: ', len(s.body))
message_box('You Lost!', 'Try again')
s.reset((10,10))
break
【问题讨论】: