public Command commandLogic() {
        for(int i : granateDistance) {
            if(i <= 70) {
                return new Command(CommandType.NONE, CommandType.TURN_LEFT, 5, Acommand3());
            }
        }
        if(danger) {
            return emergencyLogic();
        }
        
        if(info.getEnemies().isEmpty()) {
            return new Command(CommandType.NONE, CommandType.NONE, 5, CommandType.NONE);
        }
        
        if(me.getX() < 150 || me.getX() > GameData.GAME_WIDTH - 150)
        {
            return new Command(CommandType.MOVE_FORWARD, CommandType.TURN_LEFT, (me.getDirection() - 180) % 360, Acommand3());
        }
        
        if(me.getX() < 150 || me.getX() > GameData.GAME_WIDTH - 150)
        {
            return new Command(CommandType.MOVE_FORWARD, CommandType.TURN_RIGHT, (me.getDirection() - 180) % 360, Acommand3());
        }
        
        if(distance <= 100) {
            return new Command(CommandType.MOVE_BACK, CommandType.TURN_LEFT, targetRtation, Acommand3());
        }
        return agresiveLogic();
    }