예제 #1
0
파일: input.py 프로젝트: link108/roguetest
 def handle_targeting_keys(key, state):
   if key.vk == libtcod.KEY_CHAR:
     if key.c == ord('k'):
       return Util.player_target(state, 0, -1)
     elif key.c == ord('j'):
       return Util.player_target(state, 0, 1)
     elif key.c == ord('h'):
       return Util.player_target(state, -1, 0)
     elif key.c == ord('l'):
       return Util.player_target(state, 1, 0)
     elif key.c == ord('y'):
       return Util.player_target(state, -1, -1)
     elif key.c == ord('u'):
       return Util.player_target(state, 1, -1)
     elif key.c == ord('b'):
       return Util.player_target(state, -1, 1)
     elif key.c == ord('n'):
       return Util.player_target(state, 1, 1)
     else:
       state.set_player_action(Constants.NOT_VALID_KEY)
   elif key.vk == libtcod.KEY_ESCAPE:
     state.set_game_state(Constants.PLAYING)
   elif key.vk == libtcod.KEY_ENTER:
     state.set_game_state(Constants.FOUND_TARGET)
   else:
     state.set_player_action(Constants.NOT_VALID_KEY)
예제 #2
0
 def handle_targeting_keys(key, state):
     if key.vk == libtcod.KEY_CHAR:
         if key.c == ord("k"):
             return Util.player_target(state, 0, -1)
         elif key.c == ord("j"):
             return Util.player_target(state, 0, 1)
         elif key.c == ord("h"):
             return Util.player_target(state, -1, 0)
         elif key.c == ord("l"):
             return Util.player_target(state, 1, 0)
         elif key.c == ord("y"):
             return Util.player_target(state, -1, -1)
         elif key.c == ord("u"):
             return Util.player_target(state, 1, -1)
         elif key.c == ord("b"):
             return Util.player_target(state, -1, 1)
         elif key.c == ord("n"):
             return Util.player_target(state, 1, 1)
         elif key.c == ord("x"):
             state.status_panel.message(
                 "toggleing x: " + str(state.get_target_x()) + ", y: " + str(state.get_target_y())
             )
             return Util.toggle_alive(state)
         elif key.c == ord("p"):
             if state.game_state == Constants.PAUSE:
                 state.status_panel.message("handle_targeting_keys: going from paused to playing")
                 state.game_state = Constants.PLAYING
                 return
             elif state.game_state == Constants.PLAYING:
                 state.status_panel.message("handle_targeting_keys: going from playing to paused")
                 state.game_state = Constants.PAUSE
                 return
             else:
                 state.status_panel.message("game state is: " + str(state.game_state))
         elif key.c == ord("s"):
             Util.save_map(state)
         else:
             state.set_player_action(Constants.NOT_VALID_KEY)