elif self._mode == 'crawl':
return self._level.can_crawl(x, y, self._level_layer)
+ def _set_angle(self, angle):
+ for roach in self._roaches:
+ roach.angle = angle
+
def on_key_down(self, key, mod, unicode):
offset = None
x, y = self._player_pos
if self._can_move(x, y + 1):
self._set_pos(x, y + 1)
offset = (0, TILE_SIZE)
+ self._set_angle(180)
elif key == keys.UP:
if self._can_move(x, y - 1):
self._set_pos(x, y - 1)
offset = (0, -TILE_SIZE)
+ self._set_angle(0)
elif key == keys.LEFT:
if self._can_move(x - 1, y):
self._set_pos(x - 1, y)
offset = (-TILE_SIZE, 0)
+ self._set_angle(90)
elif key == keys.RIGHT:
if self._can_move(x + 1, y):
self._set_pos(x + 1, y)
offset = (TILE_SIZE, 0)
+ self._set_angle(270)
elif key == keys.S:
if self._level_layer == 'floor' and self._level.can_crawl(x, y, 'floor'):
# We're probably on a grate