Mercurial > mamba
view mamba/gamestate.py @ 267:1e8dca95c48a
Hook up hot-keys in editor for jerith
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Thu, 15 Sep 2011 12:54:16 +0200 |
parents | 321f2eef40e3 |
children | b371c2ea309e |
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 = [] unlocked_levels = set() 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') 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.makedirs(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)