read scores file into memory at start
This commit is contained in:
parent
ebf70476cb
commit
23023d594e
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue