private static int [][] getMap(Class<?>... ignoredObstacles) {
        int x_dem = Field.getInstance().getXBound() + 2;
        int y_dem = Field.getInstance().getYBound() + 2;
        
        int[][] map = new int[x_dem][y_dem];
        Set<Class<?>> ignoredObst = new HashSet<Class<?>>();
        for (Class<?> obstClass : ignoredObstacles) { ignoredObst.add(obstClass); }
        
        for (FieldObject fo : Field.getInstance().getAllFieldObjects()) {
            if (ignoredObst.contains(fo.getClass())) { continue; }
            map[fo.getX()+1][fo.getY()+1] = Integer.MAX_VALUE;
        }
        return map;
    }