This ?assignment lets you build a set of classes to support a program to find ?paths through a cave. By the end of Uni
This assignment lets you build a set of classes to support a program to find paths through a cave. By the end of Unit 4, you will have a program that can read a 2-dimensional cave layout from a file, search the layout to find a path to a mirror pool, then print the path to take. This unit, you will build the infrastructure for this project, including storing data in a two dimensional structure, searching the data structure for a simple path from start to finish and reading data from a text file.
Preparation
See the announcements for the link to the GitHub repository for this assignment.
Directions
Write a class CaveExplorer, that has the following methods:
- Constructor with no parameters. It should create the two-dimensional structure shown below, where the characters in the layout are 'R' for rock, '.' for a clear path, 'M' for mirror pool, and 'S' for self. This constructor hardcodes the cave without reading from a file.
- toString - no parameters, returns a string (including new lines) showing the current state of the cave exploration. For the initial configuration, this string would be
"RRRRRRnR..SRRnR.RRRRnR.MRRRnRRRRRRn" - solve - no parameters, returns a boolean true if there is a path to the mirror pool, and false if there is not. This method is where you will spend some time figuring out the logic. Even though there is only one path, you still have to search in four different directions and make sure you don't get caught in an infinite loop. How you do this is up to you.
- getPath – no parameters, returns a String showing the path taken to get to the mirror pool. In the example, this path would be the string of directions "wwsse" for West, West, South, South, East. The method should return the empty string if there is no path.
- Constructor with one String parameter – the name of a text file with the cave layout. The file has a line with two integers, the number of rows and columns of the cave layout, followed by the layout itself. For exampleYou will have to modify the text file with the cave data using your favorite editor. Your cave layout should contain a path requiring at least 4 moves in two different directions. There must be exactly one path through the cave, that is, from any location, there is only at most one location to move to next that hasn't already been visited. If you need help reading from a file, there are many resources on the web regarding using the Scanner class to read text data. A short one is the section on Scanners at https://math.hws.edu/javanotes/c11/s1.html (Links to an external site.)
- main - test your class by writing a main method that creates at least 2 CaveExplorer objects, solves each one, then prints the starting layout, the final layout, and the path taken, if it exists, for each one. Be sure to follow this order of operations.
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.