@Override
    public void keyReleased(KeyEvent e) {
        Type type = null;
        boolean playerMoved = false;

        if(e.getKeyCode() == ControlCommands.JUMP.getKey()){
            type = Type.PLAYER_JUMP;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.UP.getKey()){
            type = Type.PLAYER_MOVE_UP;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.DOWN.getKey()){
            type = Type.PLAYER_MOVE_DOWN;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.LEFT.getKey()){
            type = Type.PLAYER_MOVE_LEFT;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.RIGHT.getKey()){
            type = Type.PLAYER_MOVE_RIGHT;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.SPECIAL1.getKey()){
            type = Type.PLAYER_SPECIAL1;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.SPECIAL2.getKey()){
            type = Type.PLAYER_SPECIAL2;
            playerMoved = true;
        }else if(e.getKeyCode() == ControlCommands.SPECIAL3.getKey()){
            type = Type.PLAYER_SPECIAL3;
            playerMoved = true;
        }
        if(playerMoved){
            marked.put(type,false);
            gameEventListener.handleGameEvent(new PlayerMoveEvent(this, type, false));
        }
    }