帮我写一个pygame游戏最高分方法加入到封装类里
时间: 2023-12-12 07:05:58 浏览: 59
好的,以下是一个将最高分储存在文件中的示例代码:
```python
import pygame
import os
class Game:
def __init__(self):
self.high_score = self.load_high_score()
# 初始化其他游戏相关的变量
def load_high_score(self):
high_score = 0
if os.path.exists("high_score.txt"):
with open("high_score.txt", "r") as f:
high_score = int(f.read())
return high_score
def save_high_score(self):
with open("high_score.txt", "w") as f:
f.write(str(self.high_score))
def update_high_score(self, score):
if score > self.high_score:
self.high_score = score
self.save_high_score()
# 其他游戏相关的方法
```
在上面的代码中,我们在 `__init__` 方法中调用了 `load_high_score` 方法来加载最高分,如果最高分文件不存在,则默认为 0 分。然后,我们可以在游戏过程中使用 `update_high_score` 方法来更新最高分,如果当前得分超过了最高分,则将其替换,并调用 `save_high_score` 方法将其保存到文件中。
你可以在你的游戏代码中使用这个类,例如:
```python
game = Game()
while running:
# 游戏循环
# ...
# 在适当的地方更新分数和最高分
score = 100
game.update_high_score(score)
# 游戏结束时保存最高分
game.save_high_score()
```
这样,每次游戏都会加载最高分,如果当前得分超过了最高分,则更新它,并在游戏结束时保存到文件中。
阅读全文