1 """ Class holding the level info """
3 from .keypad import Keypad
10 self.width = self.height = 0
16 self.start_pos = (0, 0)
18 def get_neighbors(self, x, y):
19 # 4 -connected neighbors
20 return [self.tiles[y][x-1] if x > 0 else None,
21 self.tiles[y][x+1] if x < self.width - 1 else None,
22 self.tiles[y-1][x] if y > 0 else None,
23 self.tiles[y+1][x] if y < self.height- 1 else None,
26 def can_walk(self, x, y, layer):
27 if 'walk' in self.tiles[y][x][layer]['behaviour']:
29 for door in self.doors:
30 if (x, y) == door.game_pos and door.is_closed():
35 def can_fly(self, x, y, layer):
36 if 'fly' in self.tiles[y][x][layer]['behaviour']:
37 for door in self.doors:
38 if (x, y) == door.game_pos and door.is_closed():
44 def can_crawl(self, x, y, layer):
45 return 'crawl' in self.tiles[y][x][layer]['behaviour']
47 def is_keypad(self, x, y):
48 for keypad in self.keypads:
49 if (x, y) == keypad.game_pos:
53 def is_grate(self, x, y):
54 if (x, y) in self.grates:
58 def press_keypad(self, x, y, roaches):
59 for keypad in self.keypads:
60 if (x, y) == keypad.game_pos:
61 keypad.activate(roaches)