Mercurial > mamba
view mamba/gamestate.py @ 310:b371c2ea309e
excised level locking
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 18:32:31 +0200 |
parents | 321f2eef40e3 |
children | 7d5bf8e72c61 |
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): assert level_name in levels done_levels.add(level_name) save_state() def load_state(): global 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() done_levels = set(state['done_levels']) else: done_levels = set((0,)) 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(): 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)