+ elif self._level.is_keypad(x, y):
+ self._level.press_keypad(x, y, self._roaches)
+ elif self._level.friend_at(x, y):
+ friend = self._level.friend_at(x, y)
+ self._level.remove_friend(friend)
+ self._friends.remove(friend)
+ self._add_roach()
+ elif self._level.item_at(x, y):
+ item = self._level.item_at(x, y)
+ self._level.remove_item(item)
+ self._items.remove(item)
+ elif self._level.is_exit(x, y):
+ next_level = self._level.get_exit_level()
+ return [
+ WorldEvent('set', {'level.name': next_level}),
+ ChangeSceneEvent(GameLevelScene())]
+
+ def _fire_key(self):
+ print('Boom')
+
+ def _vehicle_management_key(self):
+ from .roach_management import RoachesScene
+ return [ChangeSceneEvent(RoachesScene(level_scene=self))]
+
+ def on_key_down(self, key, mod, unicode):
+ x, y = self._player_pos
+ if key in (keys.DOWN, keys.UP, keys.LEFT, keys.RIGHT):
+ return self._movement_key(key)
+ elif key == keys.C:
+ return self._activate_key()
+ elif key == keys.X:
+ return self._fire_key()
+ elif key == keys.V:
+ return self._change_vehicle()
+ elif key == keys.Z:
+ return self._vehicle_management_key()