【问题标题】:How does one imput a highscore within a python game? [PYGAME] [duplicate]如何在 Python 游戏中输入高分? [PYGAME] [重复]
【发布时间】:2018-06-24 13:48:19
【问题描述】:

我在 pygame 的 while 循环中有我的分数,所以它看起来像这样。

score = 0
while True: 
     score += 0.1
     text = font.render("Score: "+str(int(score)), True, (255, 255, 255))
     display.blit(text, (0,0))

每次玩家击败他的旧高分时,我如何让我的程序存储一个新的高分。你甚至如何存储分数?如果用户关闭程序并稍后打开它,我希望分数相同。如果这是可能的,有人可以解释一下。

【问题讨论】:

  • 如果您想存储玩家相关数据(即他们的高分),您需要以某种数据格式写入文件。也许JSON.
  • 重复链接问题包含“日志文件类型”排行榜的示例,答案使用 mongodb - 看看它们,它们应该为您指明正确的方向。在新的高分时,将数据保存到文件中,在游戏开始时,将数据加载到字典中并将其与达到的分数进行比较。
  • 好吧,我真的不需要排行榜,因为用户是匿名的,如果他获得更高的分数,他的新分数只会替换他的旧分数。但这应该会有所帮助。

标签: python pygame


【解决方案1】:

本质上,您希望以游戏结束后可以检索的方式存储数据。

这可以通过将相关数据/变量内容写入具有预定格式 (JSON) 或您自己的简单格式的文件来完成。无论哪种方式,您都应该能够在游戏开始时正确解析信息。

如何做到这一点:

  • 确定代码中应打开文件并将新的高分写入文件的位置。

  • 检查是否必须创建新文件。如果是,则创建它。

  • 实现将高分写入文件的代码。

  • 当游戏再次启动时,您必须以“只读”模式打开文件并检索信息。

注意:确保关闭所有打开的文件以防止内存泄漏。

我希望这个答案对您有所帮助,如果您有任何其他问题,请随时在下面发表评论!

【讨论】:

  • 谢谢我让它工作
  • 很高兴能帮到你!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 2021-01-05
  • 2023-01-18
  • 1970-01-01
  • 1970-01-01
  • 2020-07-26
  • 2015-06-01
相关资源
最近更新 更多