X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;ds=sidebyside;f=erdslangetjie%2Flevel.py;h=2974b88b349adddc1bda0e41e072b0978f0d177b;hb=50cd60ab9838cbed76f8a5f7c0c4aa660da8bb1c;hp=fd039f9e1b59308a12e63de10c1e3fbc61da5224;hpb=9a655ff853ee8a039e194725f3d10c6950c26a97;p=erdslangetjie.git diff --git a/erdslangetjie/level.py b/erdslangetjie/level.py index fd039f9..2974b88 100644 --- a/erdslangetjie/level.py +++ b/erdslangetjie/level.py @@ -179,7 +179,6 @@ class Level(object): self._data[pos[1]][pos[0]] except IndexError: return False - print pos, self._data[pos[1]][pos[0]] return True def blocked(self, pos): @@ -237,15 +236,23 @@ class LevelList(object): def __init__(self): self.levels = [] + self.errors = [] level_list = load(self.LEVELS) for line in level_list: line = line.strip() if os.path.exists(filepath(line)): level_file = load(line) - self.levels.append(Level(level_file)) + level = Level(level_file) level_file.close() + try: + level.validate() + self.levels.append(level) + except RuntimeError as err: + self.errors.append( + 'Invalid level %s in level_list: %s' % (line, err)) else: - print 'Level list includes non-existant level %s' % line + self.errors.append( + 'Level list includes non-existant level %s' % line) level_list.close() self._cur_level = 0 @@ -255,6 +262,9 @@ class LevelList(object): else: return None + def get_errors(self): + return self.errors + def advance_to_next_level(self): self._cur_level += 1 return self.get_current_level()