Source code for game.utils.high_score_manager

"""Manages high scores in memory (no file I/O, compatible with web builds)."""

import datetime

[docs] MAX_SCORES_DISPLAY = 10
_session_scores = []
[docs] def get_session_filename(): """Returns a pseudo-filename used as a key; no actual file is created.""" now = datetime.datetime.now() timestamp = now.strftime("%Y-%m-%d_%H-%M-%S") return f"scores_{timestamp}.json"
[docs] def add_score_to_session(score_entry, filename): """Adds a score to the in-memory session store.""" _session_scores.append(score_entry)
[docs] def load_high_scores(): """Returns all in-memory scores, sorted descending.""" sorted_scores = sorted(_session_scores, key=lambda x: x.get('score', 0), reverse=True) return sorted_scores[:MAX_SCORES_DISPLAY]
[docs] def load_scores(filename): """Returns in-memory scores for this session.""" return list(_session_scores)