Mercurial > mamba
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)