Move game validation to level_list
[erdslangetjie.git] / erdslangetjie / level.py
index fd039f9e1b59308a12e63de10c1e3fbc61da5224..e4bc0e09a58072ea9c28dccdd2e4f8a790d9a6fb 100644 (file)
@@ -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):
@@ -242,10 +241,16 @@ class LevelList(object):
             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()
+                except RuntimeError as err:
+                    raise RuntimeError(
+                            'Invalid level %s in level_list: %s' % (line, err))
+                self.levels.append(level)
             else:
-                print 'Level list includes non-existant level %s' % line
+                raise RuntimeError('Level list includes non-existant level %s' % line)
         level_list.close()
         self._cur_level = 0