Recursive Maze Help

• November 26th, 2012, 10:00 PM
Deejay1992
Recursive Maze Help
Hi All,

I am having a problem with this maze project that I was assigned in my programming and data structures class. I have everything done, except for a few minor steps of the Generator method here it is:

Code :

```// The Gen n Method: Recursively Generates The Maze   private void genFile(int startX, int startY, int endX, int endY) { Random gen = new Random();   // *** BASES CASES ***   // Check if we can divide the space   boolean wallPossible = false;   // Check all vertical wall placements   for (int i = startX + 1; i < endX; i++) { if ( ((endY+1 < n) || maze[i][endY+1] != '_') && ((startY-1 >= 0) || maze[i][startY-1] != '_') ) {   // Do this when there is no wall opening mark on either side   wallPossible = true; break; } }   if (!wallPossible) {   // Check all horizontal wall placements   for (int i=startY+1; i<endY; i++) { if ( ((endX+1 < n) || maze[endX+1][i] != '_') && ((startX-1 >= 0) || maze[startX-1][i] != '_') ) {   // Do this when there is no wall opening mark on either side   wallPossible = true; break;   } } }   if (!wallPossible) return;       // *** RECURSIVE CASE *** // Once here, it means we can divide the space   // Loop that keeps asking for direction and location for a wall until valid   int dir = 0; int k = 0;   do {   // Pick a random direction   dir = gen.nextInt(2);   // Pick a random wall location   if (dir == 0) {   // Generate a random number between the boundaries // that will represent the (vertical) wall location   k = gen.nextInt (endy - starty - 1) + starty + 1;   } else {   // Generate a random number between the boundaries // that will represent the (horizontal) wall location   k = gen.nextInt(endY - startY - 1) + startY + 1;   }   // Check if valid   //for (int i = startX + 1; i < endX; i++) { if (dir==0) { if ( ((endY+1 < n) || maze[k][endY+1] != '_') && ((startY-1 >= 0) || maze[k][startY-1] != '_') ) {   // Do this when there is no wall opening mark on either side   wallPossible = true; break; } }   else {   // Check all horizontal wall placements   if ( ((endX+1 < n) || maze[endX+1][k] != '_') && ((startX-1 >= 0) || maze[startX-1][k] != '_') ) {   // Do this when there is no wall opening mark on either side   wallPossible = true; break; } }   } while (!wallPossible);     // Draw the wall   if (dir==0) { for (int y = startY; y <= endY; y++) maze [k][y] = '*';   }   else { for (int x = startX; x <= endX; x++) maze[k][x] = '*';   }   // Pick a random passage location on the wall // Make the passage   int r = gen.nextInt(endY-startY) + 1;   if (dir == 0){ maze [k][r] = '_'; } else{ maze [r][k] = '_'; }   // Recursively split the two spaces   // Find the coordinates of the first space   // Find the coordinates of the second space   // Call genFile for both space // genFile( , , , ); // genFile( , , , );   }```

• November 26th, 2012, 10:25 PM
curmudgeon
Re: Recursive Maze Help
Please don't triple post your question in the forum. Once will do. If an answer is that important to you, please read the forum FAQ to see how to format it so folks can read the code, understand it, and be able to help you.
• November 26th, 2012, 10:38 PM
Deejay1992
Re: Recursive Maze Help
Do you have any advice for me??
• November 26th, 2012, 10:52 PM
copeg
Re: Recursive Maze Help
Quote:

Originally Posted by Deejay1992
Do you have any advice for me??

You have not yet said what your goals are, or even asked a question related to your code. I'd presume you would rather us not guess...my advice would be to ask a specific question, read the link in my signature entitled 'Getting Help', format your code with proper indentations, and post an SSCCE (again, see my signature)
• November 26th, 2012, 10:58 PM
Deejay1992
Re: Recursive Maze Help
I just need to know how to recursively split the two spaces:

Code :

```if (dir == 0){ maze [k][r] = '_'; } else{ maze [r][k] = '_'; }```

Find the coordinates for space 1 and 2
Then call genFile for both spaces
genFIle( , , , );
genFIle( , , , );
• November 26th, 2012, 11:14 PM
copeg
Re: Recursive Maze Help
I suggest reading post #4 again...sorry but I don't know what you mean by 'space' or 'split'. Explaining these as if we don't know what the heck you are talking about (which is close to the truth) will do a lot to help you get help.

This thread has been cross posted here:

Java Programming Forums Cross Posting Rules

The Problems With Cross Posting

• November 26th, 2012, 11:30 PM
Deejay1992
Re: Recursive Maze Help
Quote:

Originally Posted by copeg
I suggest reading post #4 again...sorry but I don't know what you mean by 'space' or 'split'. Explaining these as if we don't know what the heck you are talking about (which is close to the truth) will do a lot to help you get help.

This thread has been cross posted here: