view mamba/gamestate.py @ 167:ce30befccc94

Missing files
author Stefano Rivera <stefano@rivera.za.net>
date Wed, 14 Sep 2011 00:56:44 +0200
parents
children 321f2eef40e3
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 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)