1 """ Class holding the level info """
3 from .keypad import Keypad
10 self.width = self.height = 0
15 self.start_pos = (0, 0)
17 def get_neighbors(self, x, y):
18 # 4 -connected neighbors
19 return [self.tiles[y][x-1] if x > 0 else None,
20 self.tiles[y][x+1] if x < self.width - 1 else None,
21 self.tiles[y-1][x] if y > 0 else None,
22 self.tiles[y+1][x] if y < self.height- 1 else None,
25 def can_walk(self, x, y, layer):
26 if 'walk' in self.tiles[y][x][layer]['behaviour']:
28 for door in self.doors:
29 if (x, y) == door.game_pos and door.is_closed():
34 def can_fly(self, x, y, layer):
35 if 'fly' in self.tiles[y][x][layer]['behaviour']:
36 for door in self.doors:
37 if (x, y) == door.game_pos and door.is_closed():
43 def can_crawl(self, x, y, layer):
44 return 'crawl' in self.tiles[y][x][layer]['behaviour']
46 def keypad_at(self, x, y):
47 for keypad in self.keypads:
48 if (x, y) == keypad.game_pos: