Question: In JAVA plz and make classes clear to see (separation of classes) thanks SUMMARY Build an app that randomly creates a 10 by 10 grid
In JAVA plz and make classes clear to see (separation of classes) thanks
- SUMMARY
- Build an app that randomly creates a 10 by 10 grid of 0s and 1s where the 0s represent open spaces and 1s represent blocked spaces , and then see if user can navigate from position 0,0 to where either the first index or second index equal 9 w/o hitting a 1. In other words the user must move clear across the grid without hitting a 1 or the game is over.
- This lab will involve the following new features:
- java.util.SecureRandom class
- Two-dimensional arrays
- DETAILS
- There won't be as much detail on the grid creation part of this as we already created an example of the grid in class together.
- Classes
- GameGrid_Test
- Will have main method and will instantiate instance of GameGrid and call run... that's it.
- GameGrid
- This will have one public "run" method and this will be called by the GameGrid_Test class's main method. ALL CODE can be in the "run" method.
- Create game grid: This method will create a game grid (two-dimensional int array) and fill each cell with 1 or 0 randomly using the Random class.
- There should be a LESS CHANCE to have a 1 fill the spot than a 0.
- Reminder Tip:
- Set an int variable called iWallChance to a number like 30, and then use the bound parameter of the SecureRandom classs nextInt method to control the range of possible numbers just like we did in class.
- Then you'd compare the returned random number to see if it's less than your iWallChance variable.
- If it was less, you'd set that cell to 1... if not, then the cell would be set to 0.
- Reminder Tip:
- There should be a LESS CHANCE to have a 1 fill the spot than a 0.
- Change the location [0][0] of the grid to 0 so that the first space is open and not a wall because that's where we'll start our user.
- Create two int variables for the user's position... iUserRow and iUserCol... and set each to 0.
- Create a boolean variable for the following loop to know when to exit.
- Create while loop for moving: This loop will keep asking user whether to move down or to the right.
- If the user chooses down, then that will affect the first array value (row); and if the user chooses right, that will affect the second array value.
- With each user answer, adjust the iUserRow or iUserCol positions depending whether down or right by increasing the correct variable by 1.
- Check if this new user position is a 1 in the grid. If it's a 1, tell the user they failed and exit loop.
- If it was not a 1, then check if either user position is now a 9.
- If one of them is 9, they have reached either the right side or bottom and tell them they have won and exit loop.
- After loop is over, then print out the grid as we did in class (nested for loop (which is a for loop within a for loop)).
- With each cell, before you print out 0 or 1, check if that cell (x and y) equals the user position (iUserRow and iUserCol).
- If it does, print out a capital X in that spot.
- Otherwise, simply print out the value of that spot in the array.
- Printing tip: Remember in class that we used System.out.print... within the inner for loop for printing so no line break was done. Then use System.out.println(""); after the closing curly bracket of the inner for loop but before the closing curly bracket of the outer for loop. That way each row will be printed out on a separate line for a nice readable layout.
- With each cell, before you print out 0 or 1, check if that cell (x and y) equals the user position (iUserRow and iUserCol).
- Create game grid: This method will create a game grid (two-dimensional int array) and fill each cell with 1 or 0 randomly using the Random class.
- This will have one public "run" method and this will be called by the GameGrid_Test class's main method. ALL CODE can be in the "run" method.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
