我如何使用pygame制作得分列表

时间:2016-11-09 18:43:49

标签: python sql pygame

我按照pygame教程完成了like this

但是如果我想让用户输入他们的昵称,那么输出得分列表(已排序)

我该怎么办?

1 个答案:

答案 0 :(得分:1)

Blitting Fonts

这是程序创建字体对象的方式:

smallfont = pygame.font.SysFont("comicsansms", 25) #(font type, font size)
medfont = pygame.font.SysFont("comicsansms", 50)
largefont = pygame.font.SysFont("comicsansms", 80)

然后,您需要使用Font对象创建曲面。程序中存在一个这样的例子:

text = smallfont.render("Score: "+str(score), True, black)

然后就像这样:

gameDisplay.blit(text, [0,0])

保存分数

要将数组保存到文件,您需要导入pickle。尝试以下代码,例如:

import pickle, os

if os.path.isfile("/home/username/Pickling_Program/scores.txt"): #insert filename here
    f = open("/home/username/Pickling_Program/scores.txt", "r")
    scores = pickle.load(f)
    print scores
    f.close()
else:
    print "No scores saved."

scores = []
for a in range(10):
    scores.append(["", 0])

for a in range(10):
    scores[a][0] = raw_input("Type name:")
    scores[a][1] = raw_input("Type score:")

f = open("/home/username/Pickling_Program/scores.txt", "w")
pickle.dump(scores, f)
f.close()

我无法测试此程序,但它应该可以工作。提及评论中的任何错误,以便我可以修复它们。

我不打算告诉你采取什么措施来做到这一点,因为我不仅没有时间,而且你也不会学到任何东西。你需要做的是获取玩家获得的分数,加载分数文件,并查看它是否大于最低值。如果是,则将其添加到分数列表中,删除最低分数,再次对列表进行排序并保存。然后,您将获取分数并将其显示在屏幕上。请参阅以下网站,以便您可以执行您要执行的操作,以及更多内容:

“给一个人一条鱼,他会吃一天。教一个人钓鱼,他将在余生中获得食物。

https://docs.python.org/2/library/pickle.html

http://www.pygame.org/docs/

http://www.pygame.org/docs/ref/font.html

希望这有帮助!