def process_input(self): key = input.collect() gui.manager.process_input(key) if key.vk in (tcod.KEY_UP, tcod.KEY_KP8): self.player.move(0, -1, self.dungeon.current_level) elif key.vk in (tcod.KEY_DOWN, tcod.KEY_KP2): self.player.move(0, 1, self.dungeon.current_level) elif key.vk in (tcod.KEY_LEFT, tcod.KEY_KP4): self.player.move(-1, 0, self.dungeon.current_level) elif key.vk in (tcod.KEY_RIGHT, tcod.KEY_KP6): self.player.move(1, 0, self.dungeon.current_level) elif key.vk in (tcod.KEY_KP9, ): self.player.move(1, -1, self.dungeon.current_level) elif key.vk in (tcod.KEY_KP3, ): self.player.move(1, 1, self.dungeon.current_level) elif key.vk in (tcod.KEY_KP1, ): self.player.move(-1, 1, self.dungeon.current_level) elif key.vk in (tcod.KEY_KP7, ): self.player.move(-1, -1, self.dungeon.current_level) elif key.c == ord('m'): gui.manager.msg( rng.choice(('foo', 'bar', 'baz', 'moop')), rng.choice(('red', 'white', 'green', 'gray')) ) elif key.c == ord('d'): gui.manager.show_widget('debug_console') elif key.vk == tcod.KEY_ESCAPE: self._replace_with(ShutDownState())
def update(self): k = input.collect() if k.vk is not tcod.KEY_NONE: # Rather push self._replace_with(DungeonState())