self._data[pos[1]][pos[0]]
except IndexError:
return False
- print pos, self._data[pos[1]][pos[0]]
return True
def blocked(self, pos):
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
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()