Search code examples
pythonsavepygameleaderboard

Saving the highscore for a game?


I have made a very simple game in python using pygame. The score is based on whatever level the player reached. I have the level as a variable called score. I want to display the top level at the start or end of the game.

I would be even more happy to display more than one score, but all of the other threads I have seen were too complicated for me to understand, so please keep it simple: I'm a beginner, only one score is necessary.


Solution

  • I recommend you use shelve. For example:

    import shelve
    d = shelve.open('score.txt')  # here you will save the score variable   
    d['score'] = score            # thats all, now it is saved on disk.
    d.close()
    

    Next time you open your program use:

    import shelve
    d = shelve.open('score.txt')
    score = d['score']  # the score is read from disk
    d.close()
    

    and it will be read from disk. You can use this technique to save a list of scores if you want in the same way.