Pygame:输入死亡后的本地记分牌

时间:2013-12-20 23:38:45

标签: python python-2.7 pygame

在我正在进行的游戏中,我正在进入游戏的后期阶段。我现在处于我想要添加到本地记分牌中的位置,玩家在那里输入名称,然后将其添加到记分牌中,其中显示“得分:,时间:,杀死:”。我是否必须使用自己的类创建一个新文件?也可以接受任何可以帮助这个记分牌的地方的链接。我需要真正知道的是代码说明如何添加输入然后在本地将其保存到系统。谢谢。如果您想查看代码以帮助我获得分数,请给我留言。再次感谢你。

2 个答案:

答案 0 :(得分:0)

如果您的记分板非常先进,那么您可以使用SQLite,但对于大多数记分板用例,pickle.dump()和pickle.load()应该足够(如果我理解正确的话)http://docs.python.org/2/library/pickle.html

答案 1 :(得分:0)

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

基本上,它从文本文件中读取并将数据转换为要编辑,排序和写回文件的列表。

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

玩弄它!