diff --git a/src/main/MazeMain.java b/src/main/MazeMain.java index aafbf80..1267841 100644 --- a/src/main/MazeMain.java +++ b/src/main/MazeMain.java @@ -9,7 +9,8 @@ Cell cell = new Cell(1, 2); System.out.println(cell); - Grid grid = new Grid(4, 4); + Grid grid = new Grid(10, 10); + System.out.println(grid); BinaryTree bt = new BinaryTree(grid); } diff --git a/src/main/net/curtlewis/maze/grid/Grid.java b/src/main/net/curtlewis/maze/grid/Grid.java index c76166c..9cc1867 100644 --- a/src/main/net/curtlewis/maze/grid/Grid.java +++ b/src/main/net/curtlewis/maze/grid/Grid.java @@ -86,7 +86,41 @@ } public String toString() { - return "Grid(rows: " + rows + " , cols: " + columns + "); size = " + size(); + + StringBuilder sb = new StringBuilder(); + sb.append("Grid(rows: " + rows + " , cols: " + columns + "); size = " + size()); + sb.append(System.lineSeparator()); + + // top row + sb.append("+"); + for(int c = 0; c < columns; c++) { + sb.append("---+"); + } + sb.append(System.lineSeparator()); + + for(int r = 0; r < rows; r++) { + String top = "|"; + String bottom = "+"; + + for(int c = 0; c < columns; c++) { + Cell cell = getCellAt(r, c); + + String body = " "; // <-- 3 spaces + String eastBoundary = (cell.hasLink(cell.getEast())) ? " " : "|"; + top = top + body + eastBoundary; + + String southBoundary = (cell.hasLink(cell.getSouth())) ? " " : "---"; + String corner = "+"; + bottom = bottom + southBoundary + corner; + } + + sb.append(top); + sb.append(System.lineSeparator()); + sb.append(bottom); + sb.append(System.lineSeparator()); + } + + return sb.toString(); } }