示例#1
0
    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())
示例#2
0
 def update(self):
     k = input.collect()
     if k.vk is not tcod.KEY_NONE:
         # Rather push
         self._replace_with(DungeonState())