import os

class ScoreManager:
    def __init__(self, filename="highscore.txt"):
        self.score = 0
        self.filename = filename

    def add_points(self, points):
        self.score += points

    def load_highscore_list(self):
        # Tworzy plik, jeśli nie istnieje, i zwraca pustą listę
        if not os.path.exists(self.filename):
            with open(self.filename, "w") as file:
                file.write("")  # Pusty plik
            return []

        # Wczytuje listę wyników z pliku
        with open(self.filename, "r") as file:
            try:
                return [int(line.strip()) for line in file.readlines()]
            except ValueError:
                return []

    def save_highscore_list(self):
        # Pobiera aktualną listę wyników
        highscore_list = self.load_highscore_list()
    
        # Jeśli aktualny wynik jeszcze nie jest na liście, dodaje go
        if self.score not in highscore_list:
            highscore_list.append(self.score)
    
        # Sortuje listę wyników malejąco
        highscore_list.sort(reverse=True)
    
        # Zapisuje wynik do pliku
        with open(self.filename, "w") as file:
            for score in highscore_list:
                file.write(f"{score}\n")
        