read scores file into memory at start

This commit is contained in:
ohsqueezy 2023-01-02 01:30:54 -05:00
parent ebf70476cb
commit 23023d594e
1 changed files with 18 additions and 7 deletions

View File

@ -429,8 +429,19 @@ class Scoreboard(GameChild):
ds = self.display_surface = self.get_display_surface()
self.scores_path = self.get_resource("score", "path")
self.most_recent_score = None
self.set_scores()
self.load()
def set_scores(self):
self.scores = []
with open(self.scores_path, "r") as fp:
for line in fp:
fields = line.split()
self.scores.append((float(fields[0]), int(fields[1]), fields[2]))
fp.close()
self.scores = sorted(self.scores, key=itemgetter(0))
self.scores = sorted(self.scores, key=itemgetter(1), reverse=True)
def load(self):
self.sprites = sprites = []
font_path = self.get_resource("display", "scoreboard-font-path")
@ -471,18 +482,18 @@ class Scoreboard(GameChild):
sprite.location.centerx = x
def get_scores(self):
scores = []
for line in open(self.scores_path, "r"):
fields = line.split()
scores.append((float(fields[0]), int(fields[1]), fields[2]))
scores = sorted(scores, key=itemgetter(0))
return sorted(scores, key=itemgetter(1), reverse=True)
return self.scores
def write(self, initials):
score = int(round(self.get_game().triangles.score))
fields = str(time()), str(score), initials
open(self.scores_path, "a").write(fields[0] + " " + fields[1] + " " + fields[2] + "\n")
with open(self.scores_path, "a") as fp:
fp.write(fields[0] + " " + fields[1] + " " + fields[2] + "\n")
fp.close()
self.most_recent_score = score, initials
self.scores.append((float(fields[0]), int(fields[1]), fields[2]))
self.scores = sorted(self.scores, key=itemgetter(0))
self.scores = sorted(self.scores, key=itemgetter(1), reverse=True)
self.load()
def update(self):