Related questions
Concept explainers
I need the code from start to end with no errors and the explanation for the code
Objectives
Java refresher (including file I/O)
Use recursion
Description
For this project, you get to write a maze solver. A maze is a two dimensional array of chars. Walls are represented as '#'s and ' ' are empty squares. The maze entrance is always in the first row, second column (and will always be an empty square). There will be zero or more exits along the outside perimeter. To be considered an exit, it must be reachable from the entrance. The entrance is not an exit.
Here are some example mazes:
mazeA
7 9
# # #####
# # # #
# # # ###
# # #
# ##### #
# #
#########
Requirements
Write a MazeSolver class in Java. This program needs to prompt the user for a maze filename and then explore the maze. Display how many exits were found and the positions (not indices) of the valid exits. Your program can display the valid exits found in any order. See the examples below for exact output requirements. Also, record a 5-8 minute video explaining the major portions of your code, including how you designed the recursion to explore the entire maze. Identify the base case. Include in the recording your program running. Also include any shortcomings or future work. Submit either the video or a link to the video (youtube.com, Google Drive, etc.) Furthermore, create a file named rubric-mazeSolver.txt that is a completed rubric (including the number of hours spent on the assignment).
Examples
Note, user input is in bold face blue and underlined text is required for test cases.
mazeA
Please enter the maze filename: project1-testA.txt
You entered project1-testA.txt
Found 1 exit at the following positions:
1,4
Introduction
Java class:Class is a blueprint or template used to create objects in Java. It defines the state and behavior of objects that belong to it. It defines the properties, methods, and other members that the objects of a class will possess.
Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 1 images
- In Java using recursion, create a program with a GUI that will allow a user to enter five numbers. The program will provide the product of all five numbers using recursive methods.arrow_forwardA basic iterator offers all the following operations except Group of answer choices 1. Except nothing, it can do all of the listed operations. 2. Get the item at the current iteration 3. Return an array of all items 4. Determine if there are more items 5. Go to the next itemarrow_forwardIN JAVA Given an array, write a program to print the array elements one by one in a new line. If the array element is divisible by 4, print Four. If it is divisible by 6, print Six. If it is divisible by both 4 and 6, print Four Six. Use the following input array Int[] input_array = {2, 5, 10, 8, 18, 24, 3, 48, 30, 9, 12} Output should be 2 5 10 Four Six Four Six 3 Four Six Six 9 Four Sixarrow_forward
- Sorting an array of batting averages would be useful only if you sort another array in the same sequence in Java. Explain.arrow_forwardA popular word game involves finding words from a grid of randomly generatedletters. Words must be at least three letters long and formed from adjoining letters.Letters may not be reused and it is valid to move across diagonals. As an example,consider the following 4 * 4 grid of letters: A B C DE F G HI J K LM N O P The word "FAB" is valid (letters in the upper left corner) and the word "KNIFE"is valid. The word "BABE" is not valid because the "B" may not be reused. Theword "MINE" is not valid because the "E" is not adjacent to the "N". Write a program that uses a 4 * 4 two-dimensional array to represent the gameboard. The program should randomly select letters for the board. You may wishto select vowels with a higher probability than consonants. You may also wish toalways place a "U" next to a "Q" or to treat "QU" as a single letter. The programshould read the words from the text file words.txt (included on the website withthis book) and then use a recursive algorithm to...arrow_forwardComplete the recursive drawBoxes() method so that it will draw all of the boxes in the image below. It currently only draws the first and smallest Box. Feel free to use a different shape if you do not like boxes.arrow_forward
- Text book imageDatabase System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationText book imageStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONText book imageDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- Text book imageC How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONText book imageDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningText book imageProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education