changeset 167:ce30befccc94

Missing files
author Stefano Rivera <stefano@rivera.za.net>
date Wed, 14 Sep 2011 00:56:44 +0200
parents bea4857487de
children 0fffb97db193
files data/levels/index.txt mamba/gamestate.py
diffstat 2 files changed, 52 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/levels/index.txt	Wed Sep 14 00:56:44 2011 +0200
@@ -0,0 +1,3 @@
+dev
+second
+third
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mamba/gamestate.py	Wed Sep 14 00:56:44 2011 +0200
@@ -0,0 +1,49 @@
+import os
+
+try:
+    import json
+except ImportError:
+    import simplejson as json  # pyflakes:ignore
+
+from mamba.data import filepath
+from mamba.options import options
+
+
+levels = []
+unlocked_levels = set()
+done_levels = set()
+
+
+def load_state():
+    global unlocked_levels, done_levels
+    fn = os.path.join(options.save_location, 'gamestate.json')
+    if os.access(fn, os.R_OK):
+        f = open(fn, 'r')
+        state = json.load(f)
+        f.close()
+        unlocked_levels = set(state['unlocked_levels'])
+        done_levels = set(state['done_levels'])
+    else:
+        unlocked_levels = set((0,))
+
+
+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)
+    f = open(fn, 'w')
+    json.dump({
+        'unlocked_levels': list(unlocked_levels),
+        'done_levels': list(done_levels),
+    }, f)
+    f.close()
+
+
+def load_levels():
+    global levels
+    f = open(filepath('levels/index.txt'))
+    levels = []
+    for line in f.readlines():
+        line = line.strip()
+        if line and line[0] != '#':
+            levels.append(line)