The grid I need to recreate looks like this
ABCDE
T.....F
S.....G
R.....H
Q.....I
P.....J
ONMLK
The grid I have now looks like this
ABCDE
0.....0
1.....1
2.....2
3.....3
4.....4
ONMLK
My code for creating the grid
// * Method * Creating the maze grid
public static void createMazeGrid(){
// First section of Maze Grid
System.out.print(" ");
for(char alphabet = 'A'; alphabet < 'F'; alphabet )
System.out.print(alphabet);
System.out.println();
// Middle section of Maze Grid
// *TRY TO FIGURE OUT ALPHABET GRID*
for(int i = 0; i < maze.length; i ) {
System.out.print(" ");
for (int j = 0; j < maze[i].length; j ) {
maze[i][j] = ".";
if (j == 0)
System.out.print(i maze[i][j]);
else if (j == maze[i].length - 1)
System.out.print(maze[i][j] i);
else
System.out.print(maze[i][j]);
}
System.out.println();
}
// Last section of Maze Grid
System.out.print(" ");
for(char alphabet = 'O'; alphabet > 'J'; alphabet--)
System.out.print(alphabet);
System.out.println();
}
I have already declared these variables in the public class, not my main method. How would I achieve this? I tried changing the int's in the middle section of my map to char like my top and bottom section but it just cuts the middle portion of the map out.
public static int numRows = 5;
public static int numCols = 5;
public static String[][] maze = new String[numRows][numCols];
CodePudding user response:
A simple way to complete your code is the use of chars where you already have your output.
public class Maze {
public static int numRows = 5;
public static int numCols = 5;
public static String[][] maze = new String[numRows][numCols];
// * Method * Creating the maze grid
public static void createMazeGrid(){
// First section of Maze Grid
System.out.print(" ");
for(char alphabet = 'A'; alphabet < 'F'; alphabet )
System.out.print(alphabet);
System.out.println();
// Middle section of Maze Grid
// *TRY TO FIGURE OUT ALPHABET GRID*
for(int i = 0; i < maze.length; i ) {
System.out.print(" ");
for (int j = 0; j < maze[i].length; j ) {
maze[i][j] = ".";
if (j == 0)
System.out.print((char)('T' - i) maze[i][j]); // left side
else if (j == maze[i].length - 1)
System.out.print(maze[i][j] (char)('F' i)); // right side
else
System.out.print(maze[i][j]);
}
System.out.println();
}
// Last section of Maze Grid
System.out.print(" ");
for(char alphabet = 'O'; alphabet > 'J'; alphabet--)
System.out.print(alphabet);
System.out.println();
}
public static void main(String[] args) { createMazeGrid(); }
}
Now let's test it:
$ java Maze.java
ABCDE
T.....F
S.....G
R.....H
Q.....I
P.....J
ONMLK
Looks good. :-)