Ejemplo n.º 1
0
  public void keyPressed(KeyEvent e) {
    int l_keyCode = e.getKeyCode();
    char l_keyChar = e.getKeyChar();

    // System.out.println(e.paramString());

    if (m_ac.isGameInProgress() && m_inputControls.isWeaponEvent(l_keyChar)) {
      Weapon l_weapon = null;

      int l_weaponSlot = Character.digit(l_keyChar, 10);
      l_weapon = (Weapon) m_inventory.getAndRemoveItemAt(l_weaponSlot);

      if (null != l_weapon) {
        m_ac.useWeapon(l_weapon);
      }
    } else {
      Integer l_btEvent = m_inputControls.getEventForKey(l_keyCode);

      // System.out.println("BTEvent="+l_btEvent);

      if (null != l_btEvent) {
        int l_btEventInt = l_btEvent.intValue();

        switch (l_btEventInt) {
          case BattleTrisKeyEvents.MOVE_LEFT:
            m_pc.moveLeft();
            break;
          case BattleTrisKeyEvents.MOVE_RIGHT:
            m_pc.moveRight();
            break;
          case BattleTrisKeyEvents.DROP:
            m_pc.drop();
            break;
          case BattleTrisKeyEvents.ROTATE_CCW:
            // Disallow this until we can fix rotation
            // m_pc.rotateCCW();
            break;
          case BattleTrisKeyEvents.ROTATE_CW:
            m_pc.rotateCW();
            break;
          case BattleTrisKeyEvents.PAUSE:
            // TODO: Put pause back as a synchronized event
            // only when both players have it enabled
            // m_ac.pauseGame();
            break;
        }
      }
    }
  }