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 # # ##### # # #      # # # # ### # #        #      # ##### # #           # ######### mazeB 7 12 # ########## # # #             # # # # ####    # # #            # # # ##### ##  # #            #   # ############ mazeC 3 5 # # # ## ##

Microsoft Visual C#
7th Edition
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Joyce, Farrell.
Chapter7: Using Methods
Section: Chapter Questions
Problem 20RQ
icon
Related questions
Question

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

# # #####

# # #      #

# # # ###

# #        #     

# ##### #

#           #

#########

mazeB

7 12

# ##########

# # #             #

# # # ####    #

# #            # #

# ##### ##  #

#            #   #

############

mazeC

3 5

# # #

## ##

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

mazeB

Please enter the maze filename: project1-testB.txt

You entered project1-testB.txt

Unsolvable!

Notice that the term "Unsolvable" is required if there are no valid exits.

mazeC

Please enter the maze filename: project1-testC.txt

You entered project1-testC.txt

Found 4 exits at the following positions:

2,5

1,4

3,3

2,1

Notice that multiple valid exits were found. Remember, you can present the valid exits in any order.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 2 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage