As a local high-score table the best way would probably be some stored file for logging scores, prehaps using the python dictionary object to list scores to players. The downside to this would be cross platform compatibility issues (Unix vs Win32 systems) due to location of storage. An internal storage mechanism, although more complex, could solve this issue?
Tom, perhaps we could create a file in the local directory - this is quite straight-forward but could lead to the program and data being separated. As for the file itself, I was thinking about using a whitespace-delimited structure and simply store an entry per game with the fields:
* Date - may be used for monthly/weekly highscores
* Name - identify player
* Points - pieces of food eaten
* Board size - a bigger board makes it easier
* Speed - we may want to add variable speed in the future
I think storing the data in the file itself is a bad idea, as that way you've got very little code/data separation.
This makes sense. As a related aside; Is the program going to be run primarily from the command-line using arguments or should a Curses `main menu` be added with access to functions like 'Start Game' 'Options' 'High Scores' etc?
I think a menu would be good, but the game should have certain defaults such as board size and speed to ensure that scores can be compared. Perhaps have a menu showing highscores with functions to play the game or set options, maybe we could highlight the user's highscore in some way (if they achieved one).
How about arrow controls - left and right to select, up and down to change setting? Perhaps we could show only highscores for the selected options. I'm not very good at the whole planning thing :) I'm sure we'll figure something out.
This is quite an important feature to have, but I think it could wait until after 1.0. I'm not sure what would be the best way to implement this.