Mercurial > mamba
changeset 222:321f2eef40e3
Save game when level completed.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Wed, 14 Sep 2011 22:19:49 +0200 |
parents | 3a652f048f57 |
children | c3018764942a |
files | mamba/gamestate.py mamba/widgets/game.py |
diffstat | 2 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/gamestate.py Wed Sep 14 22:14:08 2011 +0200 +++ b/mamba/gamestate.py Wed Sep 14 22:19:49 2011 +0200 @@ -14,6 +14,12 @@ done_levels = set() +def level_done(level_name): + assert level_name in levels + done_levels.add(level_name) + save_state() + + def load_state(): global unlocked_levels, done_levels fn = os.path.join(options.save_location, 'gamestate.json') @@ -30,7 +36,7 @@ def save_state(): fn = os.path.join(options.save_location, 'gamestate.json') if not os.path.isdir(options.save_location): - os.mkedirs(options.save_location) + os.makedirs(options.save_location) f = open(fn, 'w') json.dump({ 'unlocked_levels': list(unlocked_levels),
--- a/mamba/widgets/game.py Wed Sep 14 22:14:08 2011 +0200 +++ b/mamba/widgets/game.py Wed Sep 14 22:19:49 2011 +0200 @@ -8,6 +8,7 @@ from mamba.widgets.messagebox import MessageBox from mamba.engine import SnakeDiedEvent, LevelCompletedEvent, NewHabitatEvent from mamba.habitats.mainmenu import MainMenu +from mamba.gamestate import level_done class GameWidget(Widget): @@ -57,6 +58,7 @@ self.go_mainmenu) self.parent.add(messagebox) messagebox.grab_focus() + level_done(self.world.level.level_name) return True def go_mainmenu(self):