Python pygame中的高分系统
这是一个python蛇游戏的代码,我尝试使用shelve和pickle模块,但没有成功,因为我尝试将它们合并到网站上的其他问题中。您是否知道如何将这些模块或其他模块包括在内,以便将高分打印在终端的分数下。到目前为止,每次蛇咬住它的尾巴,你关闭消息框时,就会打印出分数,然后立即开始新的游戏。目标是使highscore与分数同时打印。我省略了一些代码,如“[…]”所示。如果您想查看它的其他部分,我很乐意展示它Python pygame中的高分系统,python,tkinter,pygame,Python,Tkinter,Pygame,这是一个python蛇游戏的代码,我尝试使用shelve和pickle模块,但没有成功,因为我尝试将它们合并到网站上的其他问题中。您是否知道如何将这些模块或其他模块包括在内,以便将高分打印在终端的分数下。到目前为止,每次蛇咬住它的尾巴,你关闭消息框时,就会打印出分数,然后立即开始新的游戏。目标是使highscore与分数同时打印。我省略了一些代码,如“[…]”所示。如果您想查看它的其他部分,我很乐意展示它 import pygame import tkinter as tk import ran
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
我不太清楚你的意思。我第一次玩蛇游戏时的高分处理方式如下:
self.score+=1
,self.high_分数在整个游戏中保持不变self.high_score=self.score
,我的计算机上本地文件中的数字将用这个新的高分更新使用这种方法,即使你关闭游戏并重新开始一天,游戏也可以记住高分 你知道我如何在脚本中实现它吗?我可以使用什么模块创建文件,然后检查内容?如何从列表s.body的len中设置我的
self.score
变量,这就是我显示分数的方式?任何Excel模块都可以工作。您只需像往常一样创建Excel文件并在任何单元格中写入0即可。然后在代码的开头,将high-score变量设置为该单元格的任何值。在检测蛇是否吃零食的位置,将self.score+=1。