Saving the highscore for a game?

Kevin Klute picture Kevin Klute · May 24, 2013 · Viewed 40.7k times · Source

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.

Answer

elyase picture elyase · May 24, 2013

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.