Mercurial > mamba
view mamba/gamestate.py @ 361:d4062344d8f4
Level namespaces (for telling that a level is complete, no matter where it came from)
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Fri, 16 Sep 2011 23:53:34 +0200 |
parents | 7d5bf8e72c61 |
children | 12d67f69e6b2 |
line wrap: on
line source
import os try: import json except ImportError: import simplejson as json # pyflakes:ignore from mamba.data import filepath from mamba.options import options levels = [] done_levels = set() def level_done(level_name): done_levels.add(level_name) save_state() def load_state(): done_levels.clear() 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() done_levels.update(state['done_levels']) def save_state(): fn = os.path.join(options.save_location, 'gamestate.json') if not os.path.isdir(options.save_location): os.makedirs(options.save_location) f = open(fn, 'w') json.dump({ 'done_levels': list(done_levels), }, f) f.close() def load_levels(): f = open(filepath('levels/index.txt')) del levels[:] for line in f.readlines(): line = line.strip() if line and line[0] != '#': levels.append(line)