*/
    private Color terrainColor(Hex x, int boardX, int boardY) {        Color terrColor = m_terrainColors[0];        int level = 0;        int terrain = 0;        for (int j = m_terrainColors.length - 1; j >= 0; j--) {            if (x.getTerrain(j) != null && m_terrainColors[j] != null) {                if (j == Terrain.ROAD){                    int [] roadHex = {boardX, boardY, x.getTerrain(j).getExits()};                    roadHexIndexes.addElement(roadHex);                    continue;                }                terrColor = m_terrainColors[j];                terrain = j;                // make heavy woods darker                if (j == Terrain.WOODS && x.getTerrain(j).getLevel() > 1) {                    terrColor = HEAVY_WOODS;                }                break;            }        }        if (terrain < 5){             level = (int) Math.abs(x.floor());             // By experiment it is possible to make only 6 distinctive color steps             if (level > 5) level = 5;             int r = terrColor.getRed()-level*30;             int g = terrColor.getGreen()-level*30;             int b = terrColor.getBlue()-level*30;             if (r < 0) r = 0;             if (g < 0) g = 0;             if (b < 0) b = 0;             return new Color(r, g, b);        }            return terrColor;    }