Fix counting bug in validate
[erdslangetjie.git] / erdslangetjie / level.py
index 73878aa927bf438439d6b6c08d06dabf2b021a25..fd039f9e1b59308a12e63de10c1e3fbc61da5224 100644 (file)
@@ -73,9 +73,9 @@ class Level(object):
         exit_points = 0
         for line in self._data:
             if ENTRY in line:
-                entry_points += 1
+                entry_points += line.count(ENTRY)
             if EXIT in line:
-                exit_points += 1
+                exit_points += line.count(EXIT)
         if entry_points == 0:
             raise RuntimeError('No entry point')
         if entry_points > 1:
@@ -93,11 +93,7 @@ class Level(object):
         return self._data[pos[1]][pos[0]]
 
     def set_tile_type(self, pos, new_type):
-        print '\n'.join([''.join(x) for x in self._data])
         self._data[pos[1]][pos[0]] = new_type
-        print
-        print '\n'.join([''.join(x) for x in self._data])
-        print pos, self._in_limits(pos)
         new_tile = self._get_tile_image(pos, new_type)
         self._tiles[pos[1]][pos[0]] = new_tile
         self._changed.append((pos, new_tile))
@@ -109,7 +105,6 @@ class Level(object):
             if not self._in_limits(new_pos):
                 continue
             tile = self._data[new_pos[1]][new_pos[0]]
-            print new_pos, tile
             new_tile = self._get_tile_image(new_pos, tile)
             self._tiles[new_pos[1]][new_pos[0]] = new_tile
             self._changed.append((new_pos, new_tile))
@@ -120,6 +115,9 @@ class Level(object):
     def at_exit(self, pos):
         return pos in self.exit_pos
 
+    def get_level_data(self):
+        return '\n'.join(reversed([''.join(x) for x in self._data]))
+
     def _get_wall_tile(self, pos):
         # Is the neighbour in this direction also a wall?
         x, y = pos