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):