Python游戏的内部排行榜

时间:2014-05-03 22:45:56

标签: python python-2.7 pygame

首先,我还是比较新的编程,所以请放轻松我。

我正在使用Python2.7编写类似街机的游戏,我希望实现一个排行榜,可以存储10对用户名和得分。为了给你一个想法,它应该或多或少看起来像这样:

1. AAA 100
2. BBB 10
3. CCC 1

......等等。这样,它应该能够跟踪10个分数。

当玩家完成游戏并在排行榜上获得最高分时,系统会提示他输入最多15个字符的名称并保存分数。此外,游戏代码应该允许玩家从开始菜单中查看排行榜 ,即点击"排行榜"后可以看到高分榜。

我已经尝试过寻找一种方法来做到这一点,但不幸的是,结果要么覆盖在线排行榜,只保存了有史以来最高的分数,或者对于我来说太复杂了,作为编程初学者要掌握。我也无法确定是否有任何可能性允许阅读游戏本身的排行榜。

如果有人能帮我解决这个问题,我将非常感激。

(如果我不够清楚(写这篇文章时我很累),我唯一的问题是打开并读取/写入包含排行榜的不同文件并在游戏中显示它。我不是但是,希望它出现在Shell中。)

编辑:

pygame.font.init()
font = pygame.font.Font(None, 30)
readfile = open("leaderboard.txt", "r")
text = font.render(readfile, True, (27,100,225))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery
screen.blit(text, textRect)

正如所建议的那样,我尝试了渲染命令,到目前为止,我已经提出了这个问题,但是我收到了一条错误消息:

Traceback (most recent call last):
File "L:\game.py", line 97, in <module>
text = font.render(open("leaderboard.txt", "r"), True, (27,100,225))
TypeError: text must be a string or unicode

1 个答案:

答案 0 :(得分:-1)

创建一个曲面 - 然后使用pygame.font Module - 特别是render()方法在表面上绘制文本。

然后像往常一样将表面放在显示器上。