Python Pygame:死后本地记分板,带输入

Python Pygame:死后本地记分板,带输入,python,python-2.7,pygame,Python,Python 2.7,Pygame,在我正在进行的一场比赛中,我正在进入比赛的后期阶段。我现在要添加一个本地记分板,玩家在上面输入名字,然后添加到记分板上,记分板上写着“分数:,时间:,杀死:”。我需要用自己的类创建一个新文件吗?链接到任何地方,可以帮助这个记分牌也将被接受。我真正需要知道的是,代码说明如何添加输入,然后将其保存到本地系统。非常感谢。如果您想查看代码以帮助我获得分数,请发消息给我。再次感谢您。如果您的记分板非常先进,那么您可以使用SQLite,但是对于大多数记分板用例,pickle.dump()和pickle.lo

在我正在进行的一场比赛中,我正在进入比赛的后期阶段。我现在要添加一个本地记分板,玩家在上面输入名字,然后添加到记分板上,记分板上写着“分数:,时间:,杀死:”。我需要用自己的类创建一个新文件吗?链接到任何地方,可以帮助这个记分牌也将被接受。我真正需要知道的是,代码说明如何添加输入,然后将其保存到本地系统。非常感谢。如果您想查看代码以帮助我获得分数,请发消息给我。再次感谢您。

如果您的记分板非常先进,那么您可以使用SQLite,但是对于大多数记分板用例,pickle.dump()和pickle.load()应该足够了(如果我理解正确的话)

我就是这样做的。有人可能会说它很笨重,但它对我来说却天衣无缝

基本上,它从文本文件中读取数据,并将数据转换为一个列表,以进行编辑、排序和写回文件

scoreboard = open("scoreboard.txt", 'r')    # Open file

scores = scoreboard.read()  # Put the whole file into a string
scores = [i.split() for i in scores.split('\n') if i]   # Convert string to list of lists
scores.append(['JAY', 1027, 120, 42])   # Add new name and scores to list
scores = sorted(scores, key=lambda tup: tup[1])[::-1]   # Sort the lists according to the second item in each (SCORE)

scoreboard = open("scoreboard.txt", 'w') # Open the file again to wipe it
scoreboard.write(str(scores).replace('], [', '\n').translate(None, ',[]\'\"')) # Write sanatized data to list

scoreboard.close() # Done

玩玩它

需要更多的信息。你想让玩家在GUI的文本框中输入他们的名字吗?您希望如何以及在何处输入文本。是的,我希望他们输入一个名称,以便他们可以炫耀。对于文本,我希望它在顶部有标题,所以“名字消磨时间分数”,然后是下面的所有信息。(我将能够显示文本(我希望))它只是为我需要知道的玩家保存信息和文本框。谢谢你的帮助。“高级”记分牌将包括哪些内容?谢谢。我来看看情况:)一个问题。如何让pygame“读取”并显示信息?您只需使用创建的变量
分数
;它包含所有数据,然后使用pygame的字体模块。pygame的一个缺点是,使用
font.render()
,它一次只能呈现一行文本,这意味着必须对多行文本进行迭代。比如,<代码>用于分数中的分数:line=font.render(“%s\t%s\t%s\t%s”%(分数[0],分数[1],分数[2],分数[3]),1,(255,255,255));blit(行,(0,0))
。。。或者别的什么。