private void drawBoard(Graphics2D g) {
        for (Hex c : Board.allHexes()) {
            drawHex(g, c);
        }
        for (Edge p : Board.allEdges()) {
            if (api.roadAt(p) == null)
                drawEdge(g, p);
        }
        for (Edge p : Board.allEdges()) {
            if (api.roadAt(p) != null)
                drawEdge(g, p);
        }
        for (Node i : Board.allNodes()) {
            drawNode(g, i);
        }
        for (Node i : Board.allNodes()) {
            drawHarbor(g, i);
        }
    }